2016-08-03 6 views
1

シンプルなXSDを使って簡単なXMLファイルを作成しようとしています。ここでcvc-complex-type.2.4.a:要素の日から無効なコンテンツが見つかりました。 {HiTemp}が期待されています

は私の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> 

私が酸素に取得していますエラーが

CVC-複雑-type.2.4です.a: 要素dayで始まる無効なコンテンツが見つかりました。 {HiTemp}のいずれかが必要です。

多分簡単かもしれません。私は他の回答を検索してきましたが、他の回答とは何か関係があったため、これを引き起こす原因を特定できません。

答えて

0

あなたのXSDを含む、いくつかの調整が必要:

  • name属性を持つdayラッパー要素が欠落して追加しました。
  • LotempおよびDewpointの訂正されたケース。

    <?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> 
         <xs:element name="day" maxOccurs="unbounded"> 
          <xs:complexType> 
          <xs:sequence> 
           <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:string"/> 
           <xs:element name="Sunset" type="xs:string"/> 
          </xs:sequence> 
          <xs:attribute name="name" type="xs:string" use="required"/> 
          </xs:complexType> 
         </xs:element> 
         </xs:sequence> 
         <xs:attribute name="week" type="xs:string" use="required"/> 
        </xs:complexType> 
        </xs:element> 
    </xs:schema> 
    
    :ここ

はあなたのXSDは正常にXMLを検証することができるように更新され

関連する問題