cvc-complex-type.2.4.a:从元素日开始发现无效内容。预计会有{HiTemp}之一

时间:2016-08-03 02:00:58

标签: xml xsd xsd-validation xml-validation

我正在尝试使用简单的XSD编写一个简单的XML文件。

这是我的XML:

<?xml version="1.0" encoding="UTF-8"?>
<forecast week="June 1st 2016"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="forecast.xsd">
    <day name="Monday">
        <HiTemp>84</HiTemp> 
        <LoTemp>74</LoTemp> 
        <Wind>SSE 18 mph</Wind> 
        <Humidity>59%</Humidity> 
        <DewPoint>68 degrees</DewPoint> 
        <Visibility>10 miles</Visibility> 
        <UVIndex>4 of 10</UVIndex> 
        <Sunrise>6:01 AM</Sunrise>
        <Sunset>8:49 PM</Sunset>
    </day>
    <day name="Tuesday">
        <HiTemp>89</HiTemp> 
        <LoTemp>77</LoTemp> 
        <Wind>NW 6 mph</Wind> 
        <Humidity>68%</Humidity> 
        <DewPoint>54 degrees</DewPoint> 
        <Visibility>8 miles</Visibility> 
        <UVIndex>6 of 10</UVIndex> 
        <Sunrise>6:03 AM</Sunrise>
        <Sunset>8:51 PM</Sunset>
    </day>
    <day name="Wednesday">
        <HiTemp>91</HiTemp> 
        <LoTemp>76</LoTemp> 
        <Wind>NE 27 mph</Wind> 
        <Humidity>48%</Humidity> 
        <DewPoint>44 degrees</DewPoint> 
        <Visibility>10 miles</Visibility> 
        <UVIndex>8 of 10</UVIndex> 
        <Sunrise>6:05 AM</Sunrise>
        <Sunset>8:53 PM</Sunset>
    </day>
    <day name="Thursday">
        <HiTemp>91</HiTemp> 
        <LoTemp>74</LoTemp> 
        <Wind>SSE 20 mph</Wind> 
        <Humidity>61%</Humidity> 
        <DewPoint>68 degrees</DewPoint> 
        <Visibility>7 miles</Visibility> 
        <UVIndex>5 of 10</UVIndex> 
        <Sunrise>6:07 AM</Sunrise>
        <Sunset>8:55 PM</Sunset>
    </day>
    <day name="Friday">
        <HiTemp>97</HiTemp> 
        <LoTemp>76</LoTemp> 
        <Wind>SE 10 mph</Wind> 
        <Humidity>79%</Humidity> 
        <DewPoint>54 degrees</DewPoint> 
        <Visibility>10 miles</Visibility> 
        <UVIndex>8 of 10</UVIndex> 
        <Sunrise>6:10 AM</Sunrise>
        <Sunset>8:57 PM</Sunset>
    </day>
</forecast>

我的XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified"
    vc:minVersion="1.1">

 <xs:element name="forecast">
     <xs:complexType>
         <xs:sequence maxOccurs="unbounded">
             <xs:element name="HiTemp" type="xs:integer"/>
             <xs:element name="Lotemp" type="xs:integer"/>
             <xs:element name="Wind" type="xs:string"/>
             <xs:element name="Humidity" type="xs:string"/>
             <xs:element name="Dewpoint" type="xs:string"/>
             <xs:element name="Visibility" type="xs:string"/>
             <xs:element name="UVIndex" type="xs:string"/>
             <xs:element name="Sunrise" type="xs:time"/>
             <xs:element name="Sunset" type="xs:time"/>
         </xs:sequence>
         <xs:attribute name="week" type="xs:string" use="required"/>
     </xs:complexType>
   </xs:element>
</xs:schema>

我在oXygen中遇到的错误是

  

cvc-complex-type.2.4.a:找到无效的内容   元素day。预计会有{HiTemp}之一。

这可能很简单。我一直在寻找其他答案,但我无法确定是什么导致了我的这个问题,因为它通常与其他答案上的其他内容有关。

1 个答案:

答案 0 :(得分:0)

您的XSD需要进行多项调整,包括:

  • 添加了FooS包含<{1}}属性的day包装元素。
  • 更正了nameLotemp的案例。

以下是您的XSD已更新,以便能够成功验证您的XML:

Dewpoint