Может ли смешанный контент в схеме XML ограничивать тип текста?

#xml #xsd

#xml #xsd

Вопрос:

В XML-схеме можно использовать атрибут «mixed» для a <complexType> , чтобы он мог содержать текст, а также дочерние элементы.

Мой вопрос заключается в том, есть ли какой-либо способ ограничить, какой тип текстового содержимого разрешен, при использовании атрибута «mixed». Например, могу ли я указать, что текст должен представлять число с плавающей запятой?

Ответ №1:

Нет, вы не можете устанавливать ограничения на текстовые узлы смешанного контента. Вы можете ограничить элементы смешанного контента, как обычно, но фактический смешанный текст свободен от ограничений.

Я боюсь, что определение смешанного контента в XML-схеме W3C как бы накладывается на сложный контент не слишком тщательно. Если бы схема обеспечивала лучшую абстракцию узлов с общим пространством между текстом, элементами, инструкциями по обработке и т.п., как это делает DOM, это работало бы лучше. Но в нынешнем виде я считаю, что вам не повезло.

Может быть, кто-то, кто лучше разбирается в фактической спецификации XML-схемы, может подтвердить / опровергнуть это.

Комментарии:

1. Вы можете ограничить смешанный сложный тип простым типом и ограничить текст, но не иметь элементов, или вы можете ограничить элементы, но не смешанный текст; по крайней мере, это мой опыт до сих пор.