#xml #xsd
#xml #xsd
Вопрос:
В XML-схеме можно использовать атрибут «mixed» для a <complexType>
, чтобы он мог содержать текст, а также дочерние элементы.
Мой вопрос заключается в том, есть ли какой-либо способ ограничить, какой тип текстового содержимого разрешен, при использовании атрибута «mixed». Например, могу ли я указать, что текст должен представлять число с плавающей запятой?
Ответ №1:
Нет, вы не можете устанавливать ограничения на текстовые узлы смешанного контента. Вы можете ограничить элементы смешанного контента, как обычно, но фактический смешанный текст свободен от ограничений.
Я боюсь, что определение смешанного контента в XML-схеме W3C как бы накладывается на сложный контент не слишком тщательно. Если бы схема обеспечивала лучшую абстракцию узлов с общим пространством между текстом, элементами, инструкциями по обработке и т.п., как это делает DOM, это работало бы лучше. Но в нынешнем виде я считаю, что вам не повезло.
Может быть, кто-то, кто лучше разбирается в фактической спецификации XML-схемы, может подтвердить / опровергнуть это.
Комментарии:
1. Вы можете ограничить смешанный сложный тип простым типом и ограничить текст, но не иметь элементов, или вы можете ограничить элементы, но не смешанный текст; по крайней мере, это мой опыт до сих пор.