这是我的示例XML代码:
<bestContact>
<firstName><![CDATA[12345]]></firstName>
<lastName />
</bestContact>
Run Code Online (Sandbox Code Playgroud)
我在用:
<xs:element name="lastName" type="xs:string" minOccurs="1" nillable="false"/>
Run Code Online (Sandbox Code Playgroud)
XSD应该被验证lastName为非空或空.
Kam*_*mal 52
尝试
<xs:element name="lastName" minOccurs="1" nillable="false">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
小智 16
<xsd:element name="lastName" type="NonEmptyString" nillable="false"/>
<xsd:simpleType name="NonEmptyString">
<xsd:restriction base="xs:string">
<xsd:minLength value="1" />
<xsd:pattern value=".*[^\s].*" />
</xsd:restriction>
</xsd:simpleType>
Run Code Online (Sandbox Code Playgroud)
这是恕我直言更好的模式:
<xs:simpleType name="NonEmptyString">
<xs:restriction base="xs:string">
<xs:pattern value="^(?!\s*$).+" />
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)
要么
<xs:simpleType name="NonEmptyStringWithoutSpace">
<xs:restriction base="xs:string">
<xs:pattern value="\S+"/>
</xs:restriction>
</xs:simpleType>
Run Code Online (Sandbox Code Playgroud)