2013-05-08 99 views
3

我必須爲我的xsd手寫一個xml示例,但我總是收到無效消息:cvc-elt.1.a:找不到元素'RS_WMS_GET_PO_DATA_v2.0'的聲明。cvc-elt.1.a:無法找到元素'xxx'的聲明

我的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

+0

[cvc-elt.1:找不到元素'MyElement'的聲明](http://stackoverflow.com/questions/13310637/cvc-elt-1-cannot-find-the-declaration- of-element-myelement) – crownjewel82 2014-06-19 17:08:44

回答

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文件,該文件架構文件。我認爲這會解決你的問題。

+0

再次嘗試,但失敗。錯誤:在prolog中不允許使用內容。 – 2013-05-08 11:58:46

+0

你如何驗證它。我在問題中創建了您提供的XSD,並基於使用Eclipse的XML創建了一個XML。 – Joshi 2013-05-08 12:11:32

+0

使用[this](http://www.xmlvalidation.com/?L=0)鏈接通過xsd在線驗證xml。選中「對外部XML模式進行驗證」複選框,然後在文本框中複製xml文件。一旦你點擊驗證按鈕,它會要求你複製XSD,因爲它在XML文件中被引用。 – Joshi 2013-05-08 12:14:24

2

我有一個cvc-elt.1.a:找不到元素問題的聲明!

我以這種方式解決:

1.-看看你的XSD文件,如果它有一個xmlns屬性,(例如:的xmlns = 「HTTP:// yourcompany/blablabla/rootElementName」)

2.-看看你的XML文件,如果XSD定義了一個,它必須有一個xmlns屬性。

3.- XML區分大小寫。查看您的xml標籤並將其與xsd標籤進行比較。

問候!

相關問題