У меня есть файл XML с несколькими неизвестными тегами, который содержит известные теги, к которым следует добавить проверку.
<root>
<child>
<template id="abc"/>
</child>
<child>
<random>
<template id="abc"/>
</random>
</child>
</root>
Случайный тег представляет собой неизвестный случайный тег, представленный xs:any
, я перешел на XSD 1.1, чтобы разрешить:
<xs:choice>
<xs:element name="child" type="xs:string">
<xs:complexType>
<xs:sequence>
<xs:element name="template" type="xs:string">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:any/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:any/>
</xs:choice>
Моя проблема в том, что известные теги, такие как шаблон и дочерний элемент, встречаются внутри неизвестных тегов и в неизвестной иерархии известных и неизвестных тегов.
Есть ли способ, которым xs:any
может содержать известные теги или добавить проверку для известных тегов и игнорировать иерархию, чтобы ошибки внутри известных тегов проверялись в любой иерархии?
Любое решение в XSD 1.1 или XSD 1.0 приветствуется.