gpt4 book ai didi

xml - xsl :for-each not supported in this context

转载 作者:数据小太阳 更新时间:2023-10-29 02:46:45 25 4
gpt4 key购买 nike

我有这个 XSLT 文档:

<xsl:stylesheet version="1.0" xmlns:mstns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/MyDocRootElement">
<xs:schema id="DataSet" targetNamespace="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" >
<xs:element name="DataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Somename"> </xs:element>
<xs:element name="OtherName">

</xs:element>
<!-- FOR EACH NOT SUPPORTED? -->
<xsl:for-each select="OtherElements/SubElement">
<xs:element name="OtherName">

</xs:element>
</xsl:for-each>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
</xsl:template>
</xsl:stylesheet>

我有一个验证错误,指出“此上下文不支持 for-each 元素”

我猜它与 xs 命名空间验证有关。

关于如何使这项工作有任何想法吗? (不包括验证?)

谢谢亚历克斯

最佳答案

更新:

提交问题的@alexbf 在评论中指出他没有执行任何验证,错误是使用 XslCompiledTransform (.NET) 运行转换的结果。

我已验证样式表使用 XslCompiledTransform 编译和执行没有任何问题——无论是在 VS2008 中还是使用 nxslt.exe 命令行实用程序。

错误的原因在于未显示的代码——准备和启动转换的代码。


验证 XSLT 样式表很少(如果有的话)有意义!

毕竟,XSLT 处理器可以更好地完成这项任务——执行额外的语义验证,这不能总是在 XSLT 的 XSD 架构中表达。

第二个问题是您正在验证 XSLT 样式表的模式不是针对 XSLT,而是针对另一种文档类型...

建议:永远不要尝试验证您的 XSLT 样式表。验证对您的自定义文档类型有意义,例如 XSLT 处理中涉及的源 XML 文档或此 XSLT 处理的结果文档。

关于xml - xsl :for-each not supported in this context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2944588/

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