5

xsd のサンプル xml を手書きする必要がありますが、常に無効なメッセージが表示されます: cvc-elt.1.a: 要素 'RS_WMS_GET_PO_DATA_v2.0' の宣言が見つかりません。

私のXSD:

<?xml version="1.0" encoding="utf-16"?>
<schema xmlns:ns0="http://www.rossinc.com/" xmlns:msbtsdml="http://schemas.rossinc.com/BizTalk" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.rossinc.com/" xmlns="http://www.w3.org/2001/XMLSchema">
  <annotation>
    <appinfo>
      <msbtsdml:StoredProcedureName xmlns:msbtsdml="http://schemas.rossinc.com/BizTalk/DMLAdapter">RS_WMS_GET_PO_DATA</msbtsdml:StoredProcedureName>
      <msbtsdml:ResponseRootName xmlns:msbtsdml="http://schemas.rossinc.com/BizTalk/DMLAdapter">poData</msbtsdml:ResponseRootName>
    </appinfo>
  </annotation>
  <element name="RS_WMS_GET_PO_DATA_v2.0">
    <complexType>
      <sequence>
        <element minOccurs="1" maxOccurs="1" name="Parameters">
          <complexType>
            <sequence>
              <element default="0" name="ERROR_OCCURRED" type="string">
                <annotation>
                  <appinfo>
                    <msbtsdml:ParamDir xmlns:msbtsdml="http://schemas.microsoft.com/BizTalk/2003">In</msbtsdml:ParamDir>
                  </appinfo>
                </annotation>
              </element>
              <element default="1" name="XML_TAGS" type="int">
                <annotation>
                  <appinfo>
                    <msbtsdml:ParamDir xmlns:msbtsdml="http://schemas.microsoft.com/BizTalk/2003">In</msbtsdml:ParamDir>
                  </appinfo>
                </annotation>
              </element>
              <element default="0" name="NUM_ROWS" type="int">
                <annotation>
                  <appinfo>
                    <msbtsdml:ParamDir xmlns:msbtsdml="http://schemas.microsoft.com/BizTalk/2003">In</msbtsdml:ParamDir>
                  </appinfo>
                </annotation>
              </element>
            </sequence>
          </complexType>
        </element>
        <element name="RS_WMS_GET_PO_DATA">
          <complexType>
            <all minOccurs="1" maxOccurs="1">
              <element name="COMPANY_CODE" type="string" />
              <element name="DIVISION" type="string" />
              <element name="PO_NUMBER" type="string" />
              <element name="PO_WH_SEQUENCE" type="string" />
              <element name="ERP_ACTION_CODE" type="string" />
            </all>
          </complexType>
        </element>
        <element name="DMLAdapterConfig">
          <complexType>
            <sequence>
              <element name="EnvironmentId" type="string" />
            </sequence>
          </complexType>
        </element>
      </sequence>
    </complexType>
  </element>
</schema>

私のXML:

<?xml version="1.0" encoding="UTF-8"?>
<RS_WMS_GET_PO_DATA_v2.0>
    <Parameters>
        <ERROR_OCCURRED>0</ERROR_OCCURRED>
        <XML_TAGS>1</XML_TAGS>
        <NUM_ROWS>0</NUM_ROWS>
    </Parameters>
    <RS_WMS_GET_PO_DATA>
        <COMPANY_CODE></COMPANY_CODE>
        <DIVISION></DIVISION>
        <PO_NUMBER></PO_NUMBER>
        <PO_WH_SEQUENCE></PO_WH_SEQUENCE>
        <ERP_ACTION_CODE></ERP_ACTION_CODE>
    </RS_WMS_GET_PO_DATA>
    <DMLAdapterConfig>
        <EnvironmentId></EnvironmentId>
    </DMLAdapterConfig>
</RS_WMS_GET_PO_DATA_v2.0>

何か案は?

私が使用しているウェブサイトは次のとおりです。 http://www.corefiling.com/opensource/schemaValidate.html

4

2 に答える 2

4
<?xml version="1.0" encoding="UTF-8"?>
<ns0:RS_WMS_GET_PO_DATA_v2.0 xmlns:ns0="http://www.rossinc.com/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.rossinc.com/ One.xsd ">
<ns0:Parameters>
<ns0:ERROR_OCCURRED>0</ns0:ERROR_OCCURRED>
<ns0:XML_TAGS>1</ns0:XML_TAGS>
<ns0:NUM_ROWS>0</ns0:NUM_ROWS>
</ns0:Parameters>
<ns0:RS_WMS_GET_PO_DATA>
<ns0:COMPANY_CODE>ns0:COMPANY_CODE</ns0:COMPANY_CODE>
<ns0:DIVISION>ns0:DIVISION</ns0:DIVISION>
<ns0:PO_NUMBER>ns0:PO_NUMBER</ns0:PO_NUMBER>
<ns0:PO_WH_SEQUENCE>ns0:PO_WH_SEQUENCE</ns0:PO_WH_SEQUENCE>
<ns0:ERP_ACTION_CODE>ns0:ERP_ACTION_CODE</ns0:ERP_ACTION_CODE>
</ns0:RS_WMS_GET_PO_DATA>
<ns0:DMLAdapterConfig>
<ns0:EnvironmentId>ns0:EnvironmentId</ns0:EnvironmentId>
</ns0:DMLAdapterConfig>
</ns0:RS_WMS_GET_PO_DATA_v2.0>

この XML ファイルに使用するスキーマ ファイルについて言及していないためです。これがあなたの問題を解決すると思います。

于 2013-05-08T10:53:34.160 に答える
4

エラーが発生しました

cvc-elt.1.a: 要素の問題の宣言が見つかりません!

私はこのように解決しました:

  1. xmlns次のような属性がある場合は、XSD ファイルを探します。

    xmlns="http://yourcompany/blablabla/rootElementName"
    
  2. XML ファイルをxmlns調べます。XSD で属性が定義されている場合は、属性が必要です。

    <rootElement xmlns="http://company/xxxxxx/rootElementName">
    
  3. XML では大文字と小文字が区別されます。XML タグを確認し、XSD タグと比較します。

よろしく!

于 2013-12-11T11:58:53.227 に答える