用于验证的XML不';T

用于验证的XML不';T,xml,validation,schema,Xml,Validation,Schema,大约3年前,我在一个程序中使用了XML,很简单。我现在需要执行另一项任务,我只是调出了旧文件并做了一些无关紧要的更改,现在我的文档无法验证。我很困惑,它看起来很简单。以下是我的模式: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">    <xs:complexTy

大约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>

   
市场需求
市场需要样本内容
MarketNeeds.html
   
   
大概念满足市场需求
市场需要样本内容
BigConcept.html
   
   
解决方案
市场需要样本内容
Solutions.html
   
   
为什么是我们?
市场需要样本内容
WhyUs.html
   
   
下一步
市场需要样本内容
下一步.html
   
Oxygen未能验证这一点,抱怨第二个“此时不需要子元素。”我认为这就是原因


我知道当我三年前写这篇文章时,这是我的第一个模式,所以也许我在做一些愚蠢的事情。我不介意别人告诉我。:-)谢谢

我要问的第一件事是原始文件在没有修改的情况下工作吗?通常是我认为无关紧要的变化给我带来了最意想不到的问题

我无法回答您更改了什么以破坏验证,但我可以看到缺少
maxOccurs=“unbounded”
maxOccurs
的默认值为1,因此架构只需要1个任务

以下类型允许在本地快速测试中使用多个
任务
元素

<xs:complexType name="History_t">
    <xs:sequence maxOccurs="unbounded">
        <xs:element name="Task" type="Task_t"></xs:element>
    </xs:sequence>
</xs:complexType>

我要问的第一件事是原始文件在没有修改的情况下工作吗?通常是我认为无关紧要的变化给我带来了最意想不到的问题

我无法回答您更改了什么以破坏验证,但我可以看到缺少
maxOccurs=“unbounded”
maxOccurs
的默认值为1,因此架构只需要1个任务

以下类型允许在本地快速测试中使用多个
任务
元素

<xs:complexType name="History_t">
    <xs:sequence maxOccurs="unbounded">
        <xs:element name="Task" type="Task_t"></xs:element>
    </xs:sequence>
</xs:complexType>


很遗憾,我无法再测试原始代码了。。但是,是的,maxOccurs标记听起来是正确的!遗憾的是,我不能再测试原始代码了。。但是,是的,maxOccurs标记听起来是正确的!