以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  Qr进  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=19681)


--  作者:孤独
--  发布时间:6/17/2005 12:19:00 AM

--  Qr进
就这个而已,xmlname动态
// JavaScript Document
function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  {
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    {
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
//-------------------------------------------------------------
function htm(xmlname,xslname,tem)
{
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load(xmlname)
// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("template/"+ readCookie("tem") +"/"+xslname)
// Transform
return(xml.transformNode(xsl))
}
//-------------------------------------------------------------
function getall()
{
s = document.URL;
  p = s.indexOf("?");
  if (p>0)
  {
   s = s.substr(p,s.length-p);
   return(s.substr(0,s.length));
   // 在每个空格字符处进行分解。
  }
  else
  {
 return("")
  }
}
//-------------------------------------------------------------
function geturl(name)
{
   s = document.URL;
  p = s.indexOf("?");
  if (p>0)
  {
   s = s.substr(p,s.length-p);
   s = s.substr(1,s.length);
   // 在每个空格字符处进行分解。
   ss = s.split("&");
 for (i = 0; i < ss.length; i++)
 {
  //ss[i]=ss[i].substr(0,ss[i].indexOf("=")+1)+"\""+ss[i].substr(ss[i].indexOf("=")+1,ss[i].length)+"\""+"\n"
     if (ss[i].substr(0,ss[i].indexOf("="))==name)
  {
   return(ss[i].substr(ss[i].indexOf("=")+1,ss[i].length))
  };//myarray[i] = i;
 }
  }
}
//-----------------------
调用<script language="javascript">
document.write(htm("article_show.asp"+getall(),"article_show.xsl"))
</script>
思路就是把html后面的参数给asp,然后做xsl处理
--  作者:Qr
--  发布时间:6/17/2005 12:30:00 AM

--  
html后面的参数是不是传给htm()的xmlname,xslname。

XML和XSL是否经过特殊处理,是不是一般的就可以。

那个article_show.asp怎么写?


--  作者:孤独
--  发布时间:6/17/2005 12:36:00 AM

--  
一般的就可以。
只传给xmlname.因为那个文件是各asp.
--  作者:Qr
--  发布时间:6/17/2005 12:44:00 AM

--  
code,帮偶看看:

要不你把整个源码发过来吧,如果不保密的话。


--  作者:孤独
--  发布时间:6/17/2005 8:08:00 AM

--  
http://www.joysou.com/ftpupload/xml.3.28.rar
--  作者:孤独
--  发布时间:6/17/2005 8:09:00 AM

--  
不是ASP里面掉ASP,是HTML里面掉的asp,但是那个asp输出的是XML格式的文件:)
--  作者:Qr
--  发布时间:6/19/2005 11:45:00 AM

--  
下了CODE后,直接查看那个ASP的源码,一下就明白过来,直接查找临时文件,立马纠出XML的源码。障眼法!高,足以看到孤独大侠在ASP&XML方面高深的功底!佩服!
--  作者:孤独
--  发布时间:6/19/2005 11:50:00 AM

--  
.....汗...障眼法...
--  作者:Qr
--  发布时间:6/19/2005 12:01:00 PM

--  
直接用DOM的话,XML文档是有缓存临时文件,经HTM调用,XML文档就在临时文件中就是HTM文件了,如果不是看了ASP源码,偶真的没注意到XML源码实际上也被缓存在临时文件夹中,那不是障眼法?:)看来偶还得寻找更好的解决方案,必竟XML源码可以在客户端查看不是什么好事。
--  作者:孤独
--  发布时间:6/19/2005 12:11:00 PM

--  
那就来更BT的,把XML存的时候用BASE64编码,然后在JAVASCRIPT取,不过别有用心的也能弄出来.再说XML应该没什么保密性吧?
--  作者:Qr
--  发布时间:6/19/2005 12:23:00 PM

--  
呵呵,偶要做的项目是文件列表,因为字段不规则,用MDB等数据库不方便,用XML则可解决此问题且方便编程。文件不是每个客户端都能下载的,如果XML源码被“公开”,就不可靠了。用BASE64可行。
--  作者:孤独
--  发布时间:6/24/2005 9:44:00 AM

--  
那我再推荐一方法,你把IIS的父目录打开(通常是打开的,windows server 2003的IIS6默认是关闭的),然后把XML文件放到跟asp同级的目录里面,
比如
root
    -asp
    -xml
把asp设为虚拟目录或者站点根,然后在asp里面读xml的东西就可以了,^_^。。别忘记设置目录的权限,如果是NTFS的话
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms