我有这个XML文件(其中一些是巨大的 - 数千个元素),我正在尝试使用XSD架构验证此XML文件的某些元素。例如。现在,问题是XSD不会让我验证文档的某些部分。它想要一切定义 - 这将是非常痛苦的。我想知道的是,有没有办法让XSD只使用文档的某些元素?我试过任何和任何属性无济于事。如果没有,你会怎么做?是否有一个库/脚本生成一个与XML文档相对应的模式,然后我可以根据自己的需要进行修改?
谢谢,
答案 0 :(得分:1)
将您关心的部分复制到文档片段DOM并对其进行验证。当然,假设您正在使用API为所有这些语言编写一些语言。
答案 1 :(得分:1)
您还<xs:element name="aName"/>
与ur-type匹配,因此任何类型。
典型的部分验证是:
<xs:schema>
<xs:element name="theRootElement">
<xs:complexType>
<xs:sequence>
<!- some wildcard wich match the beginning of the document until the desired element -->
<xs:any processContent="skip" namespace="somethingOrAll"/>
<xs:element name="theDesiredElementToMatch">
<!-- the matching test -->
</xs:element>
<!-- the rest of the doc -->
<xs:any processContent="skip" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
但它并不适用于所有模式,而且非常繁琐。