2016-08-09 11 views
0

die anderen Fragen Lesen Sie hier, können aber nicht herausfinden, warum ist die folgende XML nicht gültig gegen http://www.stormware.cz/schema/version_2/data.xsdXSD-Fehler: XML-Element ist nicht zu erwarten

Wie auf der Erde soll ich mehrere Elemente in die XML hinzuzufügen. Die schemaValidate() Antwort:

DOMDocument::schemaValidate(): Element '{ http://www.stormware.cz/schema/version_2/stock.xsd }stockHeader': This element is not expected. Expected is one of ( { http://www.stormware.cz/schema/version_2/stock.xsd }stockDetail, { http://www.stormware.cz/schema/version_2/stock.xsd }stockAttach, { http://www.stormware.cz/schema/version_2/stock.xsd }stockSerialNumber, { http://www.stormware.cz/schema/version_2/stock.xsd }stockPriceItem, { http://www.stormware.cz/schema/version_2/stock.xsd }print).

XML

<?xml version="1.0" encoding="Windows-1250"?> 
<dat:dataPack xmlns:dat="http://www.stormware.cz/schema/version_2/data.xsd" 
xmlns:stk="http://www.stormware.cz/schema/version_2/stock.xsd" 
xmlns:typ="http://www.stormware.cz/schema/version_2/type.xsd" 
id="Sklad" ico="02021123" 
application="Eshop" version="2.0" note="Import zasob."> 
    <dat:dataPackItem id="ZAS20160809" version="2.0"> 
     <stk:stock version="2.0"> 

       <stk:stockHeader> 
        <stk:stockType>card</stk:stockType> 
        <stk:code>C Set-G/Fe-K</stk:code> 
       </stk:stockHeader> 
       <stk:stockHeader> 
        <stk:stockType>card</stk:stockType> 
        <stk:code>C Set-G/Zn-K</stk:code> 
       </stk:stockHeader> 
     </stk:stock> 
    </dat:dataPackItem> 
</dat:dataPack> 

Ihre Hilfe wirklich geschätzt würde.

Antwort

1

geändert werden hinzuzufügen. Wie Ghislain Fourny erwähnt,

<stk:stockHeader>

kann nur ein occure.

Für mehr Lager-Updates verwenden

<dat:dataPackItem >

Zum Beispiel:

<dat:dataPackItem id="ZAS001" version="2.0"> 
    <stk:stock version="2.0"> 
    <stk:actionType> 
     <stk:add/> 
    </stk:actionType> 
    <stk:stockHeader> 
    ... 
    ... 
    </stk:stockHeader>  
    </stk:stock> 
</dat:dataPackItem> 
<dat:dataPackItem id="ZAS002" version="2.0"> 
    <stk:stock version="2.0"> 
    <stk:actionType> 
     <stk:add/> 
    </stk:actionType> 
    <stk:stockHeader> 
    ... 
    ... 
    </stk:stockHeader>  
    </stk:stock> 
</dat:dataPackItem> 
1

stockHeader wird in stock.xsd wie so erklärt:

<xsd:element 
    name="stockHeader" 
    type="stk:stockHeaderType" 
    minOccurs="0"/> 

Das Fehlen von maxOccurs Standardwerten auf einen Wert von 1, so dass es entweder 0 oder 1 Auftreten von stockHeader sein.

mehr zu ermöglichen, sollte ich glaube, Sie versuchen, mehrere Lager Updates zu

<xsd:element 
    name="stockHeader" 
    type="stk:stockHeaderType" 
    minOccurs="0" 
    maxOccurs="unbounded"/> 
Verwandte Themen