Предположим, мне нужно проверить шаблон - число, тире, число (например, 5-9).

Итак, я создал и .xsd с чем-то похожим на это ...

<xs:simpleType name="height_string_t">
  <xs:restriction base="xs:string">
    <!-- The following isn't going to work, or is it? -->
    <xs:pattern value="[0-9]-[0-9]"/>
  </xs:restriction>
</xs:simpleType>

Что такое «escape-символ» для тега шаблона в .xsd?

2
Zak 3 Окт 2013 в 05:16

1 ответ

Лучший ответ

Чтобы ответить на ваш вопрос, это обратная косая черта. Краткий синтаксис см. здесь. Это действительно от W3C.

Я бы сказал, что вам не нужно избегать тире в вашем случае, т.е. <xs:pattern value="[0-9]-[0-9]"/> совершенно корректно и выполняет то, что вы описываете: число, тире, число.

Вы можете избежать этого, как в <xs:pattern value="[0-9]\-[0-9]"/>; Опять же, в этом нет необходимости, эффект тот же.

Если вы экранируете его в выражении символьного класса, это будет иметь значение, то есть "[0\-9]" будет означать один из нуля, тире, девяти (вместо включающего диапазона ноль, один, два, ... все путь к девяти).

3
Petru Gardea 3 Окт 2013 в 17:01