【发布时间】:2017-06-20 00:21:41
【问题描述】:
我需要从此 XSD 创建 XML:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="group">
<xs:complexType>
<xs:sequence>
<xs:element name="person" minOccurs="5" maxOccurs="20" type="xs:string"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:schema>
这是我尝试过的 XML:
<?xml version="1.0" ?>
<group name="abcd">
xmlns="www.example.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="ex1.xsd">
<person>Joao</person>
<person>Andre</person>
<person>Filipe</person>
<person>Joaquim</person>
<person>Rui</person>
</group>
我收到此错误:
无效。 错误 - 第 10、9 行:org.xml.sax.SAXParseException;行号:10;列号:9; cvc-complex-type.2.3:元素“组”不能有字符 [children],因为该类型的内容类型是仅元素。
【问题讨论】:
-
您在命名空间声明之前关闭了
<group>。您可以在此处通过代码着色很好地看到它。 -
好吧,我之前在 ex1.xsd 的末尾关闭了它,它说它是无效的 xml 元素类型组必须后跟 > 或 />
-
开启
group将在第二个命名空间之后关闭。相信我,就像现在一样,如果没有任何架构验证它甚至不是有效的 Xml。 -
什么意思?
-
你的 Xml 中有一个悬空的
>:...="ex1.xsd">
标签: xml xsd xsd-validation xml-validation