gpt4 book ai didi

xslt - 如何将 xslt 1.0 升级到 xslt 2.0?

转载 作者:行者123 更新时间:2023-12-01 05:40:17 24 4
gpt4 key购买 nike

我是 xml 和 xslt 的新手。

我使用经典的 asp 进行网络编码。我的网页使用 Windows 平台。并在本地计算机 ID“localhost/mywebpage”中。

今天我尝试用 xslt 运行一个 xml 文件 但我收到错误

 msxml3.dll error '80004005'

Keyword xsl:template may not contain xsl:for-each-group.

下面是我的运行代码

在 xml 中

<Lakes>
<Lake>
<id>1</id>
<Name>Caspian</Name>
<Type>Natyral</Type>
</Lake>
<Lake>
<id>2</id>
<Name>Moreo</Name>
<Type>Glacial</Type>
</Lake>
<Lake>
<id>3</id>
<Name>Sina</Name>
<Type>Artificial</Type>
</Lake>
</Lakes>

在 xslt (XSLT 2.0) 中

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each-group select="Lakes/Lake" group-by="Type">
<xsl:result-document href="file{position()}.xml">
<Lakes>
<xsl:copy-of select="current-group()"/>
</Lakes>
</xsl:result-document>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>

我的asp页面

<%
'load xml
set xml = server.createobject("microsoft.xmldom")
xml.async = false
xml.load(server.mappath("test.xml"))

'load xsl
set xsl = server.createobject("microsoft.xmldom")
xsl.async = false
xsl.load(server.mappath("test.xsl"))

set xdm= server.createobject("msxml2.domdocument")
xdm.async = false
xdm.loadxml(xml.transformnode(xsl))
xdm.save(server.mappath("test_r.xml"))

%>

我需要将我的 xslt1.0 升级到 xslt2.0 吗?

最佳答案

您需要使用 XSLT 2.0 处理器; Microsoft 没有,因此如果您想使用 XSLT 2.0,则需要查看第三方选项,例如 AltovaXML http://www.altova.com/altovaxml.html .其 API 记录在 http://manual.altova.com/AltovaXML/altovaxmlcommunity/index.html?axcom_xslt2.htm .据我所知,这是经典 ASP 的最佳选择,如果您转向 ASP.NET,那么 Saxon 9 或 XmlPrime 的 .NET 版本也可以使用 XSLT 2.0 处理器。

关于xslt - 如何将 xslt 1.0 升级到 xslt 2.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com