繁体   English   中英

如何在Web服务的XSD中引用XSD?

[英]How to reference XSD in an XSD in a web service?

我有2个XSD文件,即MECommonFields.xsd和mutationextract_pr_new.xsd。 我在mutationextract_pr_new.xsd中引用了MECommonFields.xsd,但我无法读取MECommonFields.xsd中的值。 我得到的错误如下:Ex:formcaptiontype未声明(在mutationextract_pr_new.xsd文件中)。

这是我的MECommonFields.xsd

<?xml version="1.0" encoding="utf-8" ?> 
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/XMLSchema"  xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:simpleType name="nametype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="120" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="relationshiptype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="15" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="extentstype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="15" />
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="relativenametype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="120" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="rulecaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="120" />
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="subsectioncaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="120" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ownertype">
        <xs:sequence minOccurs="1" maxOccurs="unbounded">
            <xs:element name="ownernameline" >
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="35" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="formcaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="rulecaption">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="subsectioncaption">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="documentnametype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="districtlabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="districttype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="taluklabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="taluktype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="hoblilabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="hoblitype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="villagelabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="villagetype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="transactionyearlabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="transactionyeartype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="9" />
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="sourcelabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="sourcetype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="mutationlabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="mutationtypetype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="acquisitionlabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="acquisitiontypetype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ordernumberlabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ordernumbertype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="orderdatelabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="orderdatetype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="10" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="extentmeasurementtype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="100" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="mrnumberlabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="mrnumbertype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="mutationorderdetailslabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="mutationorderdetailstype"> 
        <xs:sequence minOccurs="1" maxOccurs="unbounded">
            <xs:element name="mutationorderline">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="165"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="placelabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="placetype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="mutationorderdatelabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="versiontype">
        <xs:sequence>
            <xs:element name="versionnumber" minOccurs="1" maxOccurs="1">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength fixed="true" value="15" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>


    <xs:simpleType name="mutationorderdatetype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="10" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="signaturetexttype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ritexttype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="rihoblilabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="rihoblitype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="footertype">
        <xs:sequence>
            <xs:element name="mutationorderdetailslabel" type="mutationorderdetailslabeltype" minOccurs="1" maxOccurs="1"/> 
            <xs:element name="mutationorderdetails" type="mutationorderdetailstype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="placelabel" type="placelabeltype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="place" type="placetype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="mutationorderdatelabel" type="mutationorderdatelabeltype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="mutationorderdate" type="mutationorderdatetype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="signaturetext" type="signaturetexttype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="ritext" type="ritexttype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="rihoblilabel" type="rihoblilabeltype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="rihobli" type="rihoblitype" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="surveytexttype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="100" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="mutatatedownercaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="extentscaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="mutatedownerheadertype">
        <xs:sequence>
            <xs:element name="surveynocaption" type="surveytexttype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="mutatatedownercaption" type="mutatatedownercaptiontype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="extentscaption" type="extentscaptiontype" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="gomutatedownerheadertype">
        <xs:sequence>
            <xs:element name="surveynocaption" type="surveytexttype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="mutatatedownercaption" type="mutatatedownercaptiontype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="extentscaption" type="extentscaptiontype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="pattacaption" type="pattacaptiontype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="revenuecaption" type="revenuecaptiontype" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="pattacaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="revenuecaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>


    <xs:simpleType name="newownercaption">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="officerremarkstype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="newownercaptiontype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="30" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="newownerheadertype">
        <xs:sequence>
            <xs:element name="newownercaption" type="newownercaptiontype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="extentscaption" type="extentscaptiontype" minOccurs="1" maxOccurs="1"/>
            <xs:element name="officerremarks" type="officerremarkstype" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="transactionnumberlabeltype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="transactionnumbertype">
        <xs:restriction base="xs:string">
            <xs:maxLength value="9" />
        </xs:restriction>
    </xs:simpleType>



</xs:schema>

这是我的mutationextract_pr_new.xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="mutationextract_pr" attributeFormDefault="qualified" elementFormDefault="qualified"
    targetNamespace="http://www.w3.org/2001/XMLSchema"   

    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <!--<xs:import location="MECommonFields.xsd" namespace="http://www.cisco.com/AXL/API/8.0"></xs:import>-->
  <xs:include schemaLocation="MECommonFields.xsd"></xs:include>
  <xs:element name="mutationextract_pr">
    <xs:complexType>
      <xs:sequence>
        <!--<xs:element name="documentversion" type="versiontype" minOccurs="1" maxOccurs="1"></xs:element>-->
        <xs:element name="header" minOccurs="1" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="formcaption" type="formcaptiontype" minOccurs="1" maxOccurs="1" />
              <xs:element name="documentname" type="documentnametype" minOccurs="1" maxOccurs="1" />
              <xs:element name="districtlabel" type="districtlabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="district" type="districttype" minOccurs="1" maxOccurs="1" />
              <xs:element name="taluklabel" type="taluklabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="taluk" type="taluktype" minOccurs="1" maxOccurs="1" />
              <xs:element name="hoblilabel" type="hoblilabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="hobli" type="hoblitype" minOccurs="1" maxOccurs="1" />
              <xs:element name="villagelabel" type="villagelabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="village" type="villagetype" minOccurs="1" maxOccurs="1" />
              <xs:element name="mrnumberlabel" type="mrnumberlabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="mrnumber" type="mrnumbertype" minOccurs="1" maxOccurs="1" />
              <xs:element name="transactionyearlabel" type="transactionyearlabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="transactionyear" type="transactionyeartype" minOccurs="1" maxOccurs="1" />
              <xs:element name="transactionnumberlabel" type="transactionnumberlabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="transactionnumber" type="transactionnumbertype" minOccurs="1" maxOccurs="1" />
              <xs:element name="sourcelabel" type="sourcelabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="source" type="sourcetype" minOccurs="1" maxOccurs="1" />
              <xs:element name="mutationlabel" type="mutationlabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="mutationtype" type="mutationtypetype" minOccurs="1" maxOccurs="1" />
              <xs:element name="acquisitionlabel" type="acquisitionlabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="acquisitiontype" type="acquisitiontypetype" minOccurs="1" maxOccurs="1" />
              <xs:element name="numberlabel" type="ordernumberlabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="number" type="ordernumbertype" minOccurs="1" maxOccurs="1" />
              <xs:element name="datelabel" type="orderdatelabeltype" minOccurs="1" maxOccurs="1" />
              <xs:element name="date" type="orderdatetype" minOccurs="1" maxOccurs="1" />
              <xs:element name="extentmeasurement" type="extentmeasurementtype" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="mutatedownerheader" minOccurs="1" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="surveynoheader" type="xs:string" minOccurs="1" maxOccurs="1" />
              <xs:element name="ownerheader" type="xs:string" minOccurs="1" maxOccurs="1" />
              <xs:element name="extentsheader" type="xs:string" minOccurs="1" maxOccurs="1" />
              <xs:element name="remarksheader" type="xs:string" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="mutatedownerdetails" minOccurs="1" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="owners" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="surveyno" type="xs:string" minOccurs="1" maxOccurs="1" />
                    <xs:element name="landrevenue" type="xs:string" minOccurs="1" maxOccurs="1" />
                    <xs:element name="owner" minOccurs="1" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="mutatedownername" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="rights" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="liabilities" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="govtrestriction" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="govtrestrictiontype" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="govtrestrictioncategory" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="govtrestrictiondate" type="xs:string" minOccurs="1" maxOccurs="1" />
                          <xs:element name="extents" type="extentstype" minOccurs="1" maxOccurs="1" />
                          <xs:element name="jointwithprevious" type="xs:string" minOccurs="1" maxOccurs="1" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="footer" type="footertype" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

有帮助吗? 谢谢。

在两个XSD中, xs:schema元素都具有以下属性:

targetNamespace="http://www.w3.org/2001/XMLSchema"

这不是你想要的。 如果受管理的XML在命名空间中,则targetNamespace应该是由XSD管理的XML的命名空间,而不是XSD命名空间; 否则, targetNamespace属性应该不存在。

另请参见xsd:include和xsd:import之间的区别是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM