Начиная с годовой эволюции XSD / XML, я хочу написать более простой XSD, предназначенный только для элементов, которые не будут изменены или удалены, что может проверять XML из полного XSD.
Для простоты:
С этим XML:
<root>
<unknown1/>
<known2/>
<unknown2/>
<known1/>
<unknown3/>
<unknown4/>
</root>
А это XSD:
<xsd:schema>
<xsd:element name="root">
<xsd:all>
<xsd:element name="unknown1" minOccurs="0"/>
<xsd:element name="unknown2" minOccurs="0"/>
<xsd:element name="unknown3" minOccurs="0"/>
<xsd:element name="unknown4" minOccurs="0"/>
<xsd:element name="known1" minOccurs="0"/>
<xsd:element name="known2" minOccurs="0"/>
</xsd:all>
</xsd:element name="root">
</xsd:schema>
Я хочу сделать что-то вроде:
<xsd:schema>
<xsd:all>
<xsd:any processControl="skip" />
<xsd:element name="known1" />
<xsd:element name="known2" />
</xsd:schema>
Этот XSD недействителен, так как xsd:any
может появляться только в xsd:sequence
или xsd:choice
Интересно, как я могу проверить исходный файл XML с помощью аналогичного простого XSD