以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]如何在XSLT转换后实现运行VB Script?在线等高手指点.......  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=23864)


--  作者:white.gourd
--  发布时间:11/2/2005 4:44:00 PM

--  [求助]如何在XSLT转换后实现运行VB Script?在线等高手指点.......
求教,在几个相互关联的网站中,使用信任链接(用ticket实现):
原asp页面中,原链接为:http://www.xyz.com?ticket=<%ticket......%>,
运行脚本后产生的连接为:http://www.xyz.com?ticket=ASDKL35H3HU89DFGJTYU90DJE495......
在使用XSLT片断后,XML传递的值<LINK>http://www.xyz.com?ticket=<%ticket......%></LINK>
经XSLT转换后产生的连接仍然是http://www.xyz.com?ticket=<%ticket......%>
VB脚本没有运行,求教这个问题如何解决,谢谢!


[此贴子已经被作者于2005-11-2 17:32:43编辑过]

--  作者:white.gourd
--  发布时间:11/10/2005 5:38:00 PM

--  
请Qr路过的时候帮忙指导一下吧,谢谢了
--  作者:Qr
--  发布时间:11/11/2005 12:47:00 PM

--  
问题太抽象了,有代码吗?不敢冒然回答,偶的水贴太多了:)
--  作者:white.gourd
--  发布时间:11/15/2005 12:53:00 AM

--  
......
- <ITEM>
  <HubName>Hub Center</HubName>
  <HomePage>http://www.xyz.org</HomePage>
- <Link>
- <![CDATA[ http://www.xyz.org?ticket=<%=TicketH(??,"")%>
  ]]>
  </Link>
  <OperatedBy>xyzasfasfasfasdf</OperatedBy>
  <ContactName>Mr. adfasdf</ContactName>
  <EmailAddress>jasdfasf@sina.com</EmailAddress>
  <PhoneNumber>+86-10-3213521512</PhoneNumber>
- <FlagImage>
- <![CDATA[ http://www.xyz.org/Images/f_china.gif
  ]]>
  </FlagImage>
  </ITEM>
......


[此贴子已经被作者于2005-11-15 23:43:46编辑过]

--  作者:white.gourd
--  发布时间:11/15/2005 12:55:00 AM

--  
这是XSLT片断的代码:

<?xml version="1.0" encoding="iso-8859-1"?><!-- DWXMLSource="XMLWebInfo.asp" -->
<!DOCTYPE xsl:stylesheet  [
 <!ENTITY nbsp   " ">
 <!ENTITY copy   "©">
 <!ENTITY reg    "®">
 <!ENTITY trade  "™">
 <!ENTITY mdash  "—">
 <!ENTITY ldquo  "“">
 <!ENTITY rdquo  "”">
 <!ENTITY pound  "£">
 <!ENTITY yen    "¥">
 <!ENTITY euro   "€">
 
 ]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1"/>
<xsl:template match="/">
<xsl:for-each select="RSS/channel/HubInfo/ITEM">
<table width="614" border="0" cellspacing="0" cellpadding="0">
  <tr>
       <td width="70" rowspan="9" vspace="2" border="4" align="left" valign="top">
    <xsl:element name="img">
       <xsl:attribute name="src"><xsl:value-of select="FlagImage"/></xsl:attribute>
    <xsl:attribute name="alt"><xsl:value-of select="HubName"/></xsl:attribute>
    <xsl:attribute name="vspace">2</xsl:attribute>
    <xsl:attribute name="border">1</xsl:attribute>
    </xsl:element><br/>
    </td>
       <td valign="middle" colSpan="3" height="30" ><strong><xsl:value-of select="HubName"/></strong></td>
  </tr>
  <tr height="18">
    <td colspan="2"><strong>Home Page</strong></td>
  </tr>
  <tr height="18">
    <td width="30"> </td>
    <td width="498">
 - <xsl:element name="a">  
             <xsl:attribute name="href"><xsl:value-of select="Link"/></xsl:attribute>
    <xsl:value-of select="HomePage"/>
             <xsl:attribute name="target">_blank</xsl:attribute>
      </xsl:element>
 </td>
  </tr>
  <tr height="18">
    <td colspan="2"><strong>Operated by</strong></td>
  </tr>
  <tr height="18">
    <td width="30"> </td>
 <td colspan="2">- <xsl:value-of select="OperatedBy"/></td>
  </tr>
  <tr height="18">
    <td colspan="2"><strong>Contact</strong></td>
  </tr>
  <tr height="18">
    <td width="30"> </td>
 <td colspan="2">- Name: <xsl:value-of select="ContactName"/></td>
  </tr>
  <tr height="18">
    <td width="30"> </td>
 <td colspan="2">- Email:
 <xsl:element name="a">
 <xsl:attribute name="href">mailto:<xsl:value-of select="EmailAddress"/></xsl:attribute>
 <xsl:value-of select="EmailAddress"/>
 </xsl:element> </td>
  </tr>
  <tr height="18">
    <td width="30"> </td>
 <td colspan="2">- Phone: <xsl:value-of select="PhoneNumber"/></td>
  </tr>
  <tr height="18">
    <td colspan="3" align="left" valign="top"><p><img src="../Images/line_grey.gif" width="570" height="1" /></p></td>
    </tr>
</table>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


--  作者:white.gourd
--  发布时间:11/15/2005 1:00:00 AM

--  
这是ASP页面中插入XSLT片断的代码:
                        ......
                        <%
                        Dim mm_xsl: Set mm_xsl = new MM_XSLTransform
                        mm_xsl.setXML "XMLWebInfo.asp"
                        mm_xsl.setXSL "Inc/XMLWebInfo.xsl"
                        Response.write mm_xsl.Transform()
                        %>
                        ......
请Qr帮忙看看问题出在哪里?我感觉好像是 Response.write 写出来的包含脚本的内容没有运行。不知道这是为什么,怎么解决?也许XSLT结合VB脚本不能这么使用,有替代的办法么?
先谢谢你!!!


[此贴子已经被作者于2005-11-15 1:32:21编辑过]

--  作者:Qr
--  发布时间:11/15/2005 9:07:00 AM

--  
呵呵,你的贴子和偶原来的一个想法不谋而合。至今常用ASP写WEB系统,但由于ASP的代码是全明的,于是偶将相关信息进行加密处理后写到XML文档中,再提取出来,通过XSLT插入到WEB页中,也是用Response.write 写出来,考虑了近一个星期,最终也没成功运行。

偶基本上没有答案了,也许是ASP是在服务端处理后再将页面传送给客户端的原因,导致代码不能运行。如果你能解决这个问题,在这里贴出答案吧,给偶也学一招:)


--  作者:white.gourd
--  发布时间:11/15/2005 5:45:00 PM

--  
好的,以后多探讨,呵呵,我努力寻找答案去了......
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms