2013-05-27 4 views
2

유효성 검사기 사이트에 업로드 할 때 다음 오류가 표시됩니다. 1) s4s-elt-must-match.1 : 'pizza'의 내용이 일치해야합니다 (annotation ?, (simpleType | complexType) ?, (unique | key | keyref) *)). complexType에서 시작하는 문제점이 발견되었습니다. 2) cvc-complex-type.2.4.a : 'name'요소로 시작하는 잘못된 콘텐츠가 발견되었습니다. '{피자}'중 하나가 예상됩니다. 다음과 같이XML 및 XML 스키마 유효성 검사

코드는 다음과 같습니다 XML :

<?xml version="1.0"?> 
<pizzamenu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:noNamespaceSchemaLocation="schemasnippet.xsd"> 
    <pizza id = "0011"/> 
    <name> Tal Fenek </name> 
    <price> 9.95 </price> 
<description>The application of Web protocols to Biology</description> 

</pizzamenu> 

스키마 :

<?xml version="1.0"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
<xs:element name="pizzamenu"> 
    <xs:complexType> 
    <xs:sequence maxOccurs="unbounded"> 
     <xs:element name="pizza"> 
     <xs:complexType> 
       <xs:attribute name="id" type="xs:string" /> 

       </xs:complexType> 
     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="name"> 

      </xs:element> <!-- name --> 
      <xs:element name="price"> 

      </xs:element> <!-- price --> 
      <xs:element name="description"> 
      </xs:element> <!-- description --> 
      </xs:sequence> 
     </xs:complexType> 
     </xs:element> <!-- pizza --> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> <!-- pizzamenu --> 
</xs:schema> 

당신은 당신의 스키마와 XML 모두 문제를 갖고있는 것 같다

답변

1

도와주세요.

스키마에 이름, 가격 및 설명 태그가 피자 태그 안에 포함되어야한다고 지정하는 것 같습니다. 당신의 XML에서는 그렇지 않습니다.

는 대부분의 경우 XML은해야 뭔가 더 같은 :

<?xml version="1.0"?> 
<pizzamenu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:noNamespaceSchemaLocation="schemasnippet.xsd"> 
    <pizza id = "0011"> 
     <name> Tal Fenek </name> 
     <price> 9.95 </price> 
     <description>The application of Web protocols to Biology</description> 
    </pizza> 
</pizzamenu> 

그러나 스키마가 작동하지 않는 하나의 유형을 정의하는 두 <xs:complexType> 태그를 사용하고 있습니다. 하나의 <xs:complexType>은 속성이 마지막에 놓여져있는 한 <pizza> 태그의 속성과 내용을 모두 정의하는 데 사용할 수 있습니다. 이 스키마가 같이해야 의미 : 나는 여전히 같은 오류를 얻을

<?xml version="1.0"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="pizzamenu"> 
     <xs:complexType > 
      <xs:sequence maxOccurs="unbounded"> 
       <xs:element name="pizza"> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element name="name"> 

          </xs:element> <!-- name --> 
          <xs:element name="price"> 

          </xs:element> <!-- price --> 
          <xs:element name="description"> 
          </xs:element> <!-- description --> 
         </xs:sequence> 
         <xs:attribute name="id" type="xs:string" /> 
        </xs:complexType> 
       </xs:element> <!-- pizza --> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> <!-- pizzamenu --> 
</xs:schema> 
+0

= /는 XML이 유효 스키마가 문제가 될 것 같다 ... – user2410659

+0

는 실제로 스키마 문제가 있습니다. 내 편집 된 답변보기 –

+0

정말 고마워요 :) – user2410659

관련 문제