我是xml的新手,我试图创建一些复杂的类型。我试图在氧气中验证我的.xsd,但我得到了#34;无法解析名称' state'到(n)'类型定义'零件。 10:70" 我真的不明白为什么。这甚至发生在教程代码中,如http://www.w3schools.com/schema/schema_complex.asp中的最后一个示例。
我尝试在此处包含我的代码,但它一直告诉我"您的帖子似乎包含格式不正确的代码"。我尝试了我能找到的所有内容,包括我的代码,但没有任何作用。无论如何,就像我说的那样也发生在上面的例子中(包围着:
<xs:schema version="1.0" xmlns="http://www.w3schools.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...这是示例... </xs:schema>
[编辑]
确定。在逐行包含代码后,它可以工作。这是:
<xs:schema version="1.0"
xmlns="http://www.w3schools.com"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xs:complexType name="state_machine">
<xs:sequence>
<xs:element name="state" type="state"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="state">
<xs:sequence>
<xs:element name="Superclass" type="xs:string"/>
<xs:element name="transition" type="transition"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="transition">
<xs:sequence>
<xs:element name="from" type="xs:string"/>
<xs:element name="to" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
请帮助!!
答案 0 :(得分:2)
删除命名空间声明
xmlns="http://www.w3schools.com"
定义默认命名空间会影响引用名称的属性(如type =&#34; state&#34;),但不会影响声明名称的属性(如name =&#34; state&#34;)。