2016-08-03 10 views
1

간단한 XSD로 간단한 XML 파일을 작성하려고합니다.cvc-complex-type.2.4.a : 요일 요소로 시작하는 잘못된 콘텐츠가 발견되었습니다. {HiTemp} 중 하나가 예상됩니다.

<?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 여기

내 XML이다 .a : 요소 day으로 시작하는 잘못된 콘텐츠가 발견되었습니다. {HiTemp} 중 하나가 예상됩니다.

아마도 간단 할 것입니다. 나는 다른 해답을 찾고 있었지만, 다른 해답과는 뭔가 관련이 있었기 때문에 내 원인을 정확히 알 수는 없다. 포함

답변

0

귀하의 XSD 필요한 몇 가지 조정 :

  • 추가 된 name 속성 day 래퍼 요소가 없습니다.
  • LotempDewpoint의 대소 문자가 수정되었습니다.

    <?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의 유효성을 검사 할 수 있도록 업데이트됩니다