【发布时间】:2010-11-22 09:29:09
【问题描述】:
为什么这个 xml 模式不验证? Visual Studio 说 simpleContent 标签是无效标签。如果我随后删除该属性,则表示我的限制的基本类型在http://www.w3.org/2001/XMLSchema中未定义@
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:complexType name="Person">
<xs:attribute name="isProcessed" type="xs:boolean" />
<xs:simpleContent>
<xs:restriction base="xs:string">
<xs:enumeration value="Male" />
<xs:enumeration value="Female" />
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
@marc_s - 我尝试了代码按钮,但它一直在预览区域中隐藏所有 xml。我把空间放在那里,这样它就会显示出来。
xml 的最终结果应该是这样的
<person isprocessed="True" >Male</person>
没什么特别的。本质上,我正在尝试创建一个带有属性的 simpleType。但如果我正确理解 W3,属性只能应用于 complexTypes。所以我尝试创建一个里面有简单内容的 complexType。
【问题讨论】:
-
查看您尝试使用此架构验证的源 xml 会很有帮助。
-
此外,此架构文件中可能不需要存在空格。例如:标签应该读取
而不是 。这是问题中的复制/粘贴问题吗? -
修复了错误的空格 - @Matt:您需要突出显示您的代码或 XML 示例,然后单击工具栏中的“代码”按钮 - 上面有 0001010110101011011 的那个
标签: validation xsd