关于minOccurs&;最大值出现在XML文件中
我希望有这样的行为:复杂元素有一些元素(因此它不包含序列),但其中一些元素定义了“minoccurs”和/或“maxoccurs”。 我试图构建这样一个文件,它如下所示:关于minOccurs&;最大值出现在XML文件中,xml,minoccurs,Xml,Minoccurs,我希望有这样的行为:复杂元素有一些元素(因此它不包含序列),但其中一些元素定义了“minoccurs”和/或“maxoccurs”。 我试图构建这样一个文件,它如下所示: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="nom_site"> <xs:simpleType
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="nom_site">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nom_type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sites">
<xs:complexType>
<xs:all>
<xs:element name="site">
<xs:complexType>
<xs:all>
<xs:element ref="nom_site"></xs:element>
<xs:element name="délai" type="xs:int"></xs:element>
<xs:element name="expéditeur" type="xs:string"></xs:element>
<xs:element name="message" type="xs:string"></xs:element>
<xs:element name="types" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="type">
<xs:complexType>
<xs:all>
<xs:element ref="nom_type"></xs:element>
<xs:element name="message" type="xs:string"></xs:element>
<xs:element name="libellés" minOccurs="0"
maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="libellé">
<xs:complexType>
<xs:all>
<xs:element name="nom_lib" type="xs:string"></xs:element>
<xs:element name="message" type="xs:string"></xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
但是eclipse提出了一个错误:在“all”项下,基数只能是“0”或“1”
如果我的元素connt包含“sequence”或“all”,那么还有其他可能吗
谢谢
olivier我已将其加载到XMLSpy中,根据这一点,它是有效的且格式良好。看不到任何微粒问题 生成以下内容的示例:
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2013 rel. 2 sp2 (http://www.altova.com)-->
<sites xsi:noNamespaceSchemaLocation="test.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<site>
<nom_site>aaa</nom_site>
<délai>0</délai>
<expéditeur>String</expéditeur>
<message>String</message>
<types>
<type>
<nom_type>aa</nom_type>
<message>String</message>
<libellés>
<libellé>
<nom_lib>String</nom_lib>
<message>String</message>
</libellé>
</libellés>
</type>
</types>
</site>
</sites>
aaa
0
一串
一串
aa
一串
一串
一串
因此,eclipse或您使用xsd的方式可能存在一些问题?好的,解决了:
<xs:element name="sites">
<xs:complexType>
<xs:sequence>
<xs:element name="site" minOccurs="0" maxOccurs="unbounded">
我不明白我的XSD文件传递给你的应用程序的是什么。我看不出这个模式有什么问题。您是否正在对照一个具体的XML文件进行验证,并得到验证错误?Saxon接受该模式为有效模式。除了0和1之外,我看不到任何基数。您确定正在处理您认为是的架构吗?是否有错误的行号?