2014-11-18 2 views
0
<xs:element minOccurs="1" name="Surname"> 
       <xs:simpleType> 
       <xs:restriction base="xs:string"> 
       <xs:minLength value="1"/> 
       <xs:maxLength value="70"/> 
       <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/> 
       </xs:restriction> 
       </xs:simpleType> 

      </xs:element> 

Я код XML написан как описано выше, имел в виду, чтобы захватить фамилию с MINLENGTH 1 и не более 70 лет, будет выше код принимает любую фамилию с длиной от 1 до 70? или будет ли значение шаблона ограничивать длину фамилии? Если значение шаблона ограничит его, сколько он вернется и как оно должно быть записано для обработки требуемой длины между минимальной и максимальной длиной?Определение шаблона XML и длину переменных в XML кодирования

ответ

0

или значение шаблона ограничивает длину фамилии?

Да, это будет.

Образец определяется как принятие только трех букв (нижнего или верхнего регистра).

Учитывая вы ограничиваете длину в другом месте, вы должны быть в состоянии использовать шаблон, который позволяет для любой длины:

[a-zA-Z]+ 

Однако заметим, что многие люди имеют фамилии, которые не будут соответствовать. Например. «О'Доннел» и такие, у которых есть апостроф, или двуствольные имена с дефисом.

Как правило, с именами (людьми и местами) любое простое правило, которое вы пытаетесь создать, чтобы разрешать только «правильные» имена, будет иметь множество допустимых исключений: вы просто блокируете людей от использования вашей системы. См. Falsehoods Programmers Believe About Names.

+0

Вышеупомянутое кодирование xml, которое я отправил, подразумевает, что я могу принимать только 3 буквы фамилии ТОЛЬКО даже с минимальной и максимальной длиной, указанной в коде? – Center

+0

@Center Correct. Регулярное выражение должно соответствовать полному потенциальному значению (подразумевается начало и конец текстового маркера вокруг регулярного выражения XSD - в отличие от других разновидностей регулярных выражений). – Richard

Смежные вопросы