Как разрешить несколько разных длин для строк в XSD?

#xml #xsd

#xml #xsd

Вопрос:

Итак, у меня есть пользовательский тип данных:

 <xs:simpleType name="AbbreviatedTeamName">
    <xs:restriction base="xs:string">
        <xs:length value="3"/>
    </xs:restriction>
</xs:simpleType>
  

Я хотел бы, чтобы либо 3, либо 0 были допустимы в

     <xs:length value="3"/>
  

например:

     <xs:length value="3" or value="0"/>
  

Но я не уверен, как это сделать и возможно ли это вообще.

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

1. Вы имеете в виду длину от 0 до 3? Или точно либо 0, либо 3, но не оба?

2. @Nurzhan 0 или 3, но не оба.

Ответ №1:

Используйте xs:pattern для указания регулярного выражения, которое ограничивает длину строки 0 или 3 символами:

   <xs:simpleType name="AbbreviatedTeamName">
    <xs:restriction base="xs:string">
      <xs:pattern value="|..."/>
    </xs:restriction>
  </xs:simpleType>