Ограничение значениями от 01 до 10 в XSD? - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь понять использование шаблонов в XSD. Как работает '+' в шаблоне для ограничения в XSD?

После некоторых исследований я обнаружил, что могу использовать ограничения с шаблонами. Я понимаю, что «+» означает 1 или более. Но будет ли это также применяться в этом случае?

<xsd:simpleType name="typeNumber">
        <xsd:restriction base="xsd:ID">
            <xsd:pattern value="nr[0-9]+"/>
        </xsd:restriction>
    </xsd:simpleType>

Будет, например, допустимым значение nr12345? Кроме того, я хотел бы знать, как было бы возможно сделать приемлемое значение между nr01 и nr10.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Вы можете использовать

<xsd:simpleType name="typeNumber">
    <xsd:restriction base="xsd:ID">
        <xsd:pattern value="nr(0?[1-9]|10)"/>
    </xsd:restriction>
</xsd:simpleType>

Детали

Регламент будет соответствовать всей строке, которая соответствует

  • nr - nr в начале строки
  • (0?[1-9]|10) - необязательный 0, за которым следует ненулевая цифра (см. 0?[1-9] альтернатива) или (|) 10 значение.
0 голосов
/ 29 августа 2018

Это XSD тип,

<xsd:simpleType name="typeNumber">
    <xsd:restriction base="xsd:ID">
        <xsd:pattern value="nr0[1-9]"/>
        <xsd:pattern value="nr10"/>
    </xsd:restriction>
</xsd:simpleType>

разрешит от nr01 до nr09 и nr10, в соответствии с запросом, без необходимости +, что, да, означает 1 или более случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...