/ / cvc-elt.1.a: Nie można znaleźć deklaracji elementu „xxx” - xml, xsd

cvc-elt.1.a: Nie można odnaleźć deklaracji elementu "xxx" - xml, xsd

Muszę ręcznie napisać przykładowy plik xml dla mojego pliku xsd, ale zawsze otrzymuję nieprawidłowy komunikat: cvc-elt.1.a: Nie można znaleźć deklaracji elementu „RS_WMS_GET_PO_DATA_v2.0”.

Mój 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>

Mój 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>

Jakieś pomysły?

Oto strona, której używam: http://www.corefiling.com/opensource/schemaValidate.html

Odpowiedzi:

4 dla odpowiedzi № 1
<?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>

Ponieważ nie wspomniałeś, który plik schematu ma być użyty dla tego pliku XML. Myślę, że to rozwiąże twój problem.


3 dla odpowiedzi № 2

Miałem cvc-elt.1.a: Nie można znaleźć problemu z deklaracją elementu !.

Rozwiązałem w ten sposób:

1. - spójrz na plik XSD, jeśli ma atrybut xmlns, (na przykład: xmlns = "http: // twoja firma / blablabla / rootElementName")

2. - spójrz na twój plik XML, musi mieć atrybut xmlns, jeśli XSD go zdefiniował.

3.- W XML rozróżniana jest wielkość liter. Przejrzyj tagi xml i porównaj je z tagami xsd.

Pozdrowienia!