Xml 发现以元素';开头的内容无效;元素';。此时不需要任何子元素
我正在学习xml技能,但验证器在某些根深蒂固的地方错误了我的XSD。 ERORR是:Xml 发现以元素';开头的内容无效;元素';。此时不需要任何子元素,xml,validation,xsd,Xml,Validation,Xsd,我正在学习xml技能,但验证器在某些根深蒂固的地方错误了我的XSD。 ERORR是: 18:11 cvc复杂类型。2.4.d:启动时发现无效内容 使用元素“aktor”。此时不需要任何子元素 37:11 cvc复杂类型。2.4.d:发现起始内容无效 使用元素“utwor”。此时不需要任何子元素 这里是XSD: <?xml version="1.0" encoding="utf-8"?> <xs:schema elementFormDefault="qualified" xm
- 18:11 cvc复杂类型。2.4.d:启动时发现无效内容 使用元素“aktor”。此时不需要任何子元素
- 37:11 cvc复杂类型。2.4.d:发现起始内容无效
使用元素“utwor”。此时不需要任何子元素
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="filmy">
<xs:complexType>
<xs:sequence>
<xs:element name="film">
<xs:complexType>
<xs:sequence>
<xs:element name="tytul"/>
<xs:element name="gatunek"/>
<xs:element name="czasTrwania"/>
<xs:element name="premiera"/>
<xs:element name="produkcja"/>
<xs:element name="rezyser"/>
<xs:element name="scenariusz"/>
<xs:element name="obsada">
<xs:complexType>
<xs:sequence>
<xs:element name="aktor">
<xs:complexType>
<xs:sequence>
<xs:element name="imie"/>
<xs:element name="nazwisko"/>
<xs:element name="dataUrodzenia"/>
<xs:element name="postac"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="soundtrack">
<xs:complexType>
<xs:sequence>
<xs:element name="utwor">
<xs:complexType>
<xs:sequence>
<xs:element name="wykonawca"/>
<xs:element name="tytulUtworu"/>
<xs:element name="gatunekMuzyczny"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
以下是XML:
<?xml version="1.0" encoding="utf-8"?>
<filmy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<film>
<tytul>Fight Club</tytul>
<gatunek>Thriller, Psychologiczny</gatunek>
<czasTrwania>2h11m</czasTrwania>
<premiera>11 luty 1999</premiera>
<produkcja>Niemcy, USA</produkcja>
<rezyser>David Fincher</rezyser>
<scenariusz>Jim Uhls</scenariusz>
<obsada>
<aktor>
<imie>Edward</imie>
<nazwisko>Norton</nazwisko>
<dataUrodzenia>1969</dataUrodzenia>
<postac>Narrator</postac>
</aktor>
<aktor>
<imie>Brad</imie>
<nazwisko>Pitt</nazwisko>
<dataUrodzenia>1963</dataUrodzenia>
<postac>Tyler Durden</postac>
</aktor>
<aktor>
<imie>Helena</imie>
<nazwisko>Boham Carter</nazwisko>
<dataUrodzenia>1966</dataUrodzenia>
<postac>Marla Singer</postac>
</aktor>
</obsada>
<soundtrack>
<utwor>
<wykonawca>The Pixies</wykonawca>
<tytulUtworu>Where is my mind</tytulUtworu>
<gatunekMuzyczny>Rock</gatunekMuzyczny>
</utwor>
<utwor>
<wykonawca>The Pixies</wykonawca>
<tytulUtworu>Where is my mind</tytulUtworu>
<gatunekMuzyczny>Rock</gatunekMuzyczny>
</utwor>
<utwor>
<wykonawca>The Pixies</wykonawca>
<tytulUtworu>Where is my mind</tytulUtworu>
<gatunekMuzyczny>Rock</gatunekMuzyczny>
</utwor>
</soundtrack>
</film>
</filmy>
搏击俱乐部
惊悚片,心理学
2h11m
11卢蒂1999
尼姆西,美国
大卫·芬奇
吉姆·厄尔斯
爱德华
诺顿
1969
旁白
布拉德
皮特
1963
泰勒·德登
海伦娜
博厄姆·卡特
1966
玛拉·辛格
小妖精
我的心在哪里
摇滚乐
小妖精
我的心在哪里
摇滚乐
小妖精
我的心在哪里
摇滚乐
我不理解这个问题,它说不需要子元素,子元素的数量有限制吗?我可以扩展它吗
我找到了我问题的答案,可以乘以的元素必须具有maxOccurs=“unbounded”属性。我找到了我问题的答案,可以乘以的元素必须具有maxOccurs=“unbounded”属性。只是在这里添加另一个答案,因为接受的答案并没有完全帮助我 因此,如果您有一个类似于此处提问者的结构,则不能将
maxOccurs=“unbounded”
在最外层的元素包装上,因为它将被视为全局元素
你必须把它放在所有可能的元素上,比如:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="filmy">
<xs:complexType>
<xs:sequence>
<xs:element name="film">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="tytul"/>
<xs:element maxOccurs="unbounded" name="gatunek"/>
<xs:element maxOccurs="unbounded" name="czasTrwania"/>
<xs:element maxOccurs="unbounded" name="premiera"/>
<xs:element maxOccurs="unbounded" name="produkcja"/>
<xs:element maxOccurs="unbounded" name="rezyser"/>
<xs:element maxOccurs="unbounded" name="scenariusz"/>
…etc这个问题的答案确实可以解决问题,但不是“正确”的解决方案 之所以添加unbounded有效,是因为xsd现在允许多个序列,即
<filmy>
<sequence>
<element_3>
</sequence>
<sequence>
<element_2>
<sequence>
<sequence>
<element_1>
<sequence>
</filmy>
这将给你:
<filmy>
<sequence>
<element_1>
<element_2>
<element_3>
<sequence>
</filmy>
i、 e.只有一个序列,因此无需无限期。您应该将解决方案作为答案发布,然后等待48小时并“接受”您自己的答案。这将为未来用户标记已回答的问题以及正确的解决方案。你不会得到任何分数,但你会使网站更好。事实上,你会得到2分,因为你标记了一个答案。
<filmy>
<sequence>
<element_1>
<element_2>
<element_3>
<sequence>
</filmy>