我对XSD真的是“noob”,但我正在尽我所能。
我有这个XML:
<nombre_completo xmlns:xsi="xxxx "xsi:noNamespaceSchemaLocation="nombre_completo.xsd">
<nombre>Jame Ruiz</nombre>
<apellido1>Sancho</apellido1>
<apellido2>Vera</apellido2>
</nombre_completo>
这个XSD:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="nombre_completo">
<xs:complexType>
<xs:sequence>
<xs:element name="nombre" type="verificar_nombre"/>
<xs:element name="apellido1" type="xs:string"/>
<xs:element name="apellido2" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="verificar_nombre">
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z]*"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
我想要它来验证名称部分。以一个例子组成的名字:Miguel Angel,Jaime Ruiz。或者只是一个单一的名字,如“拉蒙”或“约翰”。
我试过了:
[a-zA-Z]* [a-zA-Z]?
但没有。
答案 0 :(得分:1)
[a-zA-Z]* [a-zA-Z]
可以接受任何内容和前面的一个字母。
所以你需要这样的东西
[a-zA-Z]+ [a-zA-Z]*
这将给出任何字母组合但不能为空
[a-zA-Z]+
加上这将给你空或任何字母组合。
[a-zA-Z]*