大约 3 年前,我在一个程序上使用了 XML,简单的东西。我现在需要执行另一项任务,我只是提取了旧文件并进行了一些无关紧要的更改,现在我的文档无法验证。我很困惑,看起来很简单。这是我的架构:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="Task_t">
<xs:sequence>
<xs:element name="ShortTitle" type="xs:string"/>
<xs:element name="Title" type="xs:string"/>
<xs:element name="Content" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="History" type="History_t"/>
<xs:complexType name="History_t">
<xs:sequence>
<xs:element name="Task" type="Task_t"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
这是我的文件:
<?xml version="1.0" encoding="UTF-8"?>
<History xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file:/Users/pcezanne/Documents/work/stackoverflow/TestSchema.xsd">
<Task>
<ShortTitle>Market Needs</ShortTitle>
<Title>Market Needs Sample Content</Title>
<Content>MarketNeeds.html</Content>
</Task>
<Task>
<ShortTitle>The Big Concept Answers Market Needs</ShortTitle>
<Title>Market Needs Sample Content</Title>
<Content>BigConcept.html</Content>
</Task>
<Task>
<ShortTitle>Solutions</ShortTitle>
<Title>Market Needs Sample Content</Title>
<Content>Solutions.html</Content>
</Task>
<Task>
<ShortTitle>Why Us?</ShortTitle>
<Title>Market Needs Sample Content</Title>
<Content>WhyUs.html</Content>
</Task>
<Task>
<ShortTitle>Next Steps</ShortTitle>
<Title>Market Needs Sample Content</Title>
<Content>Next Steps.html</Content>
</Task>
</History>
氧气无法验证这一点,抱怨第二个“此时预计没有子元素”。我以为那是为了什么!
我确实知道,当我 3 年前写这篇文章时,这是我的第一个模式,所以也许我在做一些愚蠢的事情。我不介意被告知。:- ) 谢谢!