【发布时间】:2010-05-31 15:47:16
【问题描述】:
我有这个 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 命名空间验证有关。
关于如何完成这项工作的任何想法? (排除验证?)
谢谢 亚历克斯
【问题讨论】:
-
好问题 (+1)。详细解释见我的回答。
-
您应该包含执行转换的 .NET 代码以获得此问题的答案。