Сгенерируйте допустимое примерное значение для шаблона xs: - PullRequest
0 голосов
/ 30 июня 2011

У меня есть следующее ограничение xsd:

<xs:restriction base="xs:string">
        <xs:minLength value="25"/>
        <xs:maxLength value="26"/>
        <xs:pattern value="(SA|DA|NT|DCS)(((0[1-9]|1[0-9])9999999999\d{4}\d{7})|([2-3]0(0[1-9]|[1-4][0-9]|5[0-2])\d{8}\d{4}\d{7})|(4099999999(0[1-9]|1[0-9])\d{4}\d{7}))"/>
    </xs:restriction>

Проблема в том, что я не могу сгенерировать примерное значение, которое соответствует этому шаблону ... существует ли какая-либо программа или веб-сайт, где при вводе шаблона выдается допустимое примерное значение для шаблона?

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

Ответы [ 2 ]

2 голосов
/ 30 июня 2011

ОК, потому что вы просили об этом:

  1. http://msdn.microsoft.com/en-us/library/aa833197.aspx
  2. http://code.google.com/p/xeger/
1 голос
/ 30 июня 2011

Вы можете попробовать любой инструмент регулярных выражений, например, найденный здесь Бесплатная альтернатива RegexBuddy

Я думаю, вам не хватает скобки ( РЕДАКТИРОВАТЬ О, я неправильно скопировал его, теперь обновлен, чтобы показать ваше выражение: -))

(SA | DA | NT | DCS) (((0 [1-9] | 1 [0-9]) 9999999999 \ д {4} \ d {7}) | ([2-3] 0 ( 0 [1-9] | [1-4] [0-9] | 5 [0-2]) \ д {8} \ d {4} \ d {7}) | (4099999999 (0 [1-9 ] | 1 [0-9]) \ д {4} \ d {7}))

Вот несколько матчей, с которых можно начать

SA11999999999944447777777
DA01999999999944447777777
NT20498888888844447777777

Попробуйте Экспрессо, оно вам поможет. Он не генерирует выражения, но объясняет простым языком, что требуется.

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