XML 架构 - 我做错了什么?
XML schema - what am I doing wrong?
我有一个关于相同代码的新问题。现在 XML- 文件中我所有的单词(在原始示例中只有一个,但我的文件中有更多)有 id:s,像这样:
<words id="wordone">clock</words>
<words id="wordtwo">sleep</words>
现在我也必须更改 XML-schema 中的代码,但我不知道如何更改。我现在有这个:
<xsd:element name="words" type="xsd:string" maxOccurs="unbounded" />
我认为这行得通,因为单词的名称仍然是 "words",但我收到错误消息。我想念什么?
我是新手,需要一些帮助。 :) 这是我的第一次尝试,我的 XML 架构如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!-- File Name: words.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>
Lexicon spanish english
</xsd:documentation>
</xsd:annotation>
<xsd:element name="english">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="listwords"/>
<xsd:element name="language" type="xsd:string"/>
<xsd:element name="authur" type="xsd:string"/>
<xsd:element name="allwords" type="xsd:string"/>
<xsd:element name="words" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
和我的 XML-文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="main.css"?>
<english xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="words.xsd">
<!-- Filename: english.xml -->
<!-- Authur: FL -->
<!-- Date: 2016-11-15 -->
<listwords>
<language>English</language>
<authur>FL</authur>
<allwords>
<words>clock</words>
</allwords>
</listwords>
错误:"XML document structures must start and end within the same entity."
帮忙? :)
您必须在文件底部添加 </english>
:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="main.css"?>
<english xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="words.xsd">
<!-- Filename: english.xml -->
<!-- Authur: FL -->
<!-- Date: 2016-11-15 -->
<listwords>
<language>English</language>
<authur>FL</authur>
<allwords>
<words>clock</words>
</allwords>
</listwords>
</english>
我有一个关于相同代码的新问题。现在 XML- 文件中我所有的单词(在原始示例中只有一个,但我的文件中有更多)有 id:s,像这样:
<words id="wordone">clock</words>
<words id="wordtwo">sleep</words>
现在我也必须更改 XML-schema 中的代码,但我不知道如何更改。我现在有这个:
<xsd:element name="words" type="xsd:string" maxOccurs="unbounded" />
我认为这行得通,因为单词的名称仍然是 "words",但我收到错误消息。我想念什么?
我是新手,需要一些帮助。 :) 这是我的第一次尝试,我的 XML 架构如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!-- File Name: words.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>
Lexicon spanish english
</xsd:documentation>
</xsd:annotation>
<xsd:element name="english">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="listwords"/>
<xsd:element name="language" type="xsd:string"/>
<xsd:element name="authur" type="xsd:string"/>
<xsd:element name="allwords" type="xsd:string"/>
<xsd:element name="words" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
和我的 XML-文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="main.css"?>
<english xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="words.xsd">
<!-- Filename: english.xml -->
<!-- Authur: FL -->
<!-- Date: 2016-11-15 -->
<listwords>
<language>English</language>
<authur>FL</authur>
<allwords>
<words>clock</words>
</allwords>
</listwords>
错误:"XML document structures must start and end within the same entity."
帮忙? :)
您必须在文件底部添加 </english>
:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="main.css"?>
<english xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="words.xsd">
<!-- Filename: english.xml -->
<!-- Authur: FL -->
<!-- Date: 2016-11-15 -->
<listwords>
<language>English</language>
<authur>FL</authur>
<allwords>
<words>clock</words>
</allwords>
</listwords>
</english>