Как требовать строго типизированные примитивные значения в XML - PullRequest
1 голос
/ 06 апреля 2009

Я создаю схему XSD для представления списка пар ключ-значение. Я хотел бы ограничить ключи строкой (это легко), но допустимыми значениями могут быть любые XSD простые типы (datetime, string, int ...). Тем не менее, я хочу, чтобы значения в документах экземпляра xml были строго типизированы, т. Е. Они должны быть явно объявлены, если значением является datetime, integer или string и т. Д. Могут ли некоторые показать пример, как я могу принудительно установить явную типизацию значений?

1 Ответ

1 голос
/ 06 апреля 2009

Вам необходим xsd: union, который позволяет проверять простой тип в качестве первого типа в списке, к которому он действителен (и, если вы используете PSVI, потенциально упорядочивает разницу):

<xsd:simpleType name="intOrDateOrBool">
  <xsd:union memberTypes="xsd:integer xsd:date xsd:boolean"/>
</xsd:simpleType>
...