我正在尝试处理我的XML / XSD文件,但我的在线验证页面仍然存在问题。你能帮我一点吗?谢谢。
这是我的XSD文件的整个代码。问题是:
s4s-elt-invalid-content.1:'#AnonType_adresar'的内容是 无效。元素'元素'无效,错位或过于频繁发生。 第5行。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="adresar">
<xsd:complexType>
<xsd:element name="osoba" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jmeno" type="xsd:string"/>
<xsd:element name="prijmeni" type="xsd:string"/>
<xsd:complexType>
<xsd:element name="email" type="xsd:string" minOccurs="0">
<xsd:attribute name="typ" type="at_type" use="required"/>
</xsd:element>
</xsd:complexType>
<xsd:complexType>
<xsd:element name="telefon" type="xsd:positiveInteger" minOccurs="0">
<xsd:attribute name="typ" type="at_type" use="required"/>
</xsd:element>
</xsd:complexType>
<xsd:complexType>
<xsd:element name="web" type="xsd:string" minOccurs="0">
<xsd:attribute name="typ" type="at_type" use="required"/>
</xsd:element>
</xsd:complexType>
<xsd:complexType>
<xsd:element name="jiny" type="xsd:string" minOccurs="0">
<xsd:attribute name="jmeno" type="xsd:string" use="required"/>
</xsd:element>
</xsd:complexType>
<xsd:element name="adresa" type="adresa_type" minOccurs="0"/>
<xsd:element name="poznamka" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="adresa_type">
<xsd:sequence>
<xsd:element name="ulice" type="xsd:string"/>
<xsd:element name="cislopop" type="xsd:positiveInteger"/>
<xsd:element name="psc" type="xsd:positiveInteger"/>
<xsd:element name="mesto" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="at_type">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="osobni"/>
<xsd:enumeration value="pracovni"/>
<xsd:enumeration value="jiny"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
答案 0 :(得分:2)
您的架构中有太多错误,我甚至不知道从哪里开始。
您报告的内容大约是xsd:element
,您已将其直接放在xsd:complexType
中。添加中间件xsd:sequence
。
接下来,您不要在序列中声明复杂类型。您不会在元素中放置属性(您需要具有简单内容和属性的复杂类型)。
我建议你从XSD Primer开始。它比盲目地对抗语法要好得多。