我应该为此创建一个XML Schema。
如果列A是标记名称列B,则数据类型列C是最大长度,列D是强制
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:complexType name="Applicant">
<xsd:sequence>
<xsd:element name="Surname" >
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="26" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="FirstName">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="26" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
//etc..
</xsd:schema>
这就是我尝试过的。
但我的问题是我无法为复杂类型Mandatory
和Applicant
(姓氏,名字)提供element names
,因为required
不适用于元素。
但它可用于属性。
Plz随时编辑和评论任何澄清
谢谢。
答案 0 :(得分:0)
元素的minOccurs
和maxOccurs
的默认值为1
。
因此,默认情况下,如果您没有定义这些参数,则必须显示每个元素。
答案 1 :(得分:-2)
我不确定,但我已经成功测试了这个xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:element name="rootelement">
<xsd:complexType>
<xsd:all>
<xsd:element name="optional_element" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="26"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="required_element" minOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="26"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="optional_complex_type" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ct_1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="26"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="required_complex_type" minOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ct_1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="26"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>