1

Mはこのエラーで立ち往生しています私を助けてください.....

私の.xmlファイルは

<?xml version="1.0"?>
<addresses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation='Lsc.xsd'>
<lscApplicationform>
 <programmes>
  <course>MBA(12 months)</course>
 </programmes>
 <personalDetails>
 <surname>Sagar</surname>
 <firstname>Shiva</firstname>
 <gender>Male</gender>
 <placeofbirth>Ulhasnagar</placeofbirth>
 <nationality>Indian</nationality>
 <countryofbirth>India</countryofbirth>
 <dateofbirth>1993-06-03</dateofbirth>
</personalDetails>
<permanentAddress>
</permanentAddress>
</lscApplicationform>
</addresses>

そして私のxsdファイルは

<?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <xs:element name="lscApplicationForm">
      <xs:complexType>
       <xs:sequence>
        <xs:element name="programmeType" type="xs:string">
               <xs:simpleType>
         <xs:restriction base="xs:string">
          <xs:enumeration value="MBA( months)"/>
          <xs:enumeration value="MBA( months)"/>
          <xs:enumeration value="MSc InformationTechnology"/>
          <xs:enumeration value="Msc InternationalHospitalityManagement"/>
          <xs:enumeration value="Msc InternationalTourismManagement"/>
          <xs:enumeration value="BA(Hons)BusinessStudies"/>
          <xs:enumeration value="BSc(Hons)Computing"/>
          <xs:enumeration value="PhD/ProfessionaDoctorate"/>
          <xs:enumeration value="Other(pleasespecify)"/>
         </xs:restriction>
           </xs:simpleType>




                <xs:element name="personalDetails" type="xs:string"/>
        <xs:complexType>
         <xs:sequence>
          <xs:element name="Surname" type="xs:string"/>
           <xs:simpleType>
            <xs:restriction base="xs:string">
             <xs:length value="100"/>
            </xs:restriction>
           </xs:simpleType>


          <xs:element name="Gender"/>
           <xs:simpleType>
            <xs:restriction base="xs:string">
             <xs:pattern value="male|female"/>
            </xs:restriction>
           </xs:simpleType>


          <xs:element name="placeOfBirth" type="xs:string"/>
          <xs:element name="Nationality" type="xs:string"/>
          <xs:element name="CountryOfBirth" type="xs:string"/>
          <xs:element name="dob" type="xs:date"/>
         </xs:sequence>    
        </xs:complexType>
        <xs:element name="permanentAddress" type="xs:string"/>
               <xs:complexType> 
               </xs:complexType> 
</xs:element>              
</xs:sequence>
</xs:complexType>      
</xs:element>
    </xs:schema>

もう1つのエラーはs4s-elt-must-match.1です。「programmeType」のコンテンツは一致する必要があります(注釈?、(simpleType | complexType)?、(unique | key | keyref)*))。要素から始まる問題が見つかりました。

前もって感謝します....

4

2 に答える 2

4

XSD スキーマ ドキュメントの XML 構文は非常に複雑であるため、XSD 構文を理解して検証できるエディターを使用するのは非常にコストがかかります。このようなエディターの有無にかかわらず、XSD に関する基本的なチュートリアルを確認するのに時間を費やすことをお勧めします。

さまざまな形式で何度か現れる基本的な問題は、スキーマ ドキュメントがスキーマ ドキュメントの構文上の制約に従っていないことです。

  • いくつかの要素宣言にはtype="xs:string"、要素の型が であることを指定する と、要素の型が異なることを指定するor children がありxs:stringます要素の宣言では、属性または型定義の子 (simpleType または complexType) のいずれかを使用します。両方を使用することはできません。xs:simpleTypexs:complexTypetype

  • あなたの要素宣言のいくつかは、空の要素としてタグ付けされており、その直後にsimpleTypeorcomplexType要素が続きます。これは、次の兄弟ではなく、要素宣言の子であることを意図していると思います。

これらの問題を解決すると、スキーマ ドキュメントは構文的に問題がなくなり、言いたいことを表現することに注意を向けることができます。

于 2012-10-16T15:37:09.593 に答える
1

これを試して:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addresses">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="lscApplicationform"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="lscApplicationform">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="programmes">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="course">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="MBA( months)"/>
                    <xs:enumeration value="MBA( months)"/>
                    <xs:enumeration value="MSc InformationTechnology"/>
                    <xs:enumeration value="Msc InternationalHospitalityManagement"/>
                    <xs:enumeration value="Msc InternationalTourismManagement"/>
                    <xs:enumeration value="BA(Hons)BusinessStudies"/>
                    <xs:enumeration value="BSc(Hons)Computing"/>
                    <xs:enumeration value="PhD/ProfessionaDoctorate"/>
                    <xs:enumeration value="Other(pleasespecify)"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="personalDetails">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Surname">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>


              <xs:element name="Gender">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:pattern value="male|female"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>

              <xs:element name="placeOfBirth" type="xs:string"/>
              <xs:element name="Nationality" type="xs:string"/>
              <xs:element name="CountryOfBirth" type="xs:string"/>
              <xs:element name="dob" type="xs:date"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>

        <xs:element name="permanentAddress" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

</xs:schema>
于 2012-10-16T15:28:59.193 に答える