Это был мой первый вопрос, на который уже был дан ответ: Схема XML - можно ли разрешить определенный элемент только один раз во всем документе?
Теперь я хочу переопределить body
элемент xhtml и добавить к нему уникальное ограничение. Это определение внутри xhtml-struct-1.xsd
<xs:group
name="xhtml.html.content">
<xs:sequence>
<xs:element
name="head"
type="xhtml.head.type"/>
<xs:element
name="body"
type="xhtml.body.type"/>
</xs:sequence>
</xs:group>
в моем redefine.xsd
Я пробовал это:
<xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
<xs:group name="xhtml.html.content">
<xs:sequence>
<xs:element name="head" type="xhtml.head.type" />
<xs:element name="body" type="xhtml.body.type" >
<xs:unique name="highlander">
<xs:selector xpath=".//mylang:content"/>
<xs:field xpath="."/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
</xs:redefine>
org.xml.sax.SAXParseException; SYSTEMID:
Файл: XHTML-структура-1.xsd;
номер строки: 113; номер столбца: 35; mg-props-correct.2: круговой
определения для группы ': xhtml.html.content_fn3dktizrknc9pi'.
Рекурсивное следование значениям {term} частиц приводит к
частица, чей {термин} является самой группой.
Я проверяю десятки других вариантов, но всегда получаю странные ошибки, которые не понимаю. Как я могу переопределить элемент xhtml body с помощью XML Schema?