2016-04-07 12 views
0

Ich arbeite tatsächlich mit Magento 2 Framework, die XSD-Schema für seine Konfigurationsdateien implementieren.
Ich habe eine Datei flow.xml, wo der Entwickler seine ein XML-Mapping und einige Konfigurationen.
Mein Ziel ist es, zwei Knoten obligatorisch zu machen mapping und options, wo der Entwickler jede XML-Struktur schreiben kann, die er will.XML-Datei mit benutzerdefinierten Kindern Knoten

Hier sind meine eigentlichen Dateien:

# File flow.xml 

<?xml version="1.0"?> 
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Dnd_Flow:etc/flow.xsd"> 
    <mapping> 
     // Here can be other nodes on X levels (or simply string = bonus) 
    </mapping> 
    <options> 
     // Here can be other nodes on X levels (or simply string = bonus) 
    </options> 
</config> 

Meine XSD-Datei wie folgt aussieht:

# File flow.xsd 

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="config" type="configType" /> 

    <xs:complexType name="configType"> 
     <xs:sequence> 
      <xs:element type="xs:????" name="mapping" minOccurs="0" /> 
      <xs:element type="xs:????" name="options" minOccurs="0" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 

Ich versuchte mixed Werte, xs:all, differents Elementtypen, aber kein Ergebnis.

Das ist vielleicht ein Stück Kuchen, aber ich bin neu bei XSD-Schemas und ich bin dabei, die Lösung zu finden, wo es in meinen zwei Knoten alles geben kann.

Vielen Dank,
Matthéo.

Antwort

1

Der Typ Sie ist xsd:anyType wollen, die Sie entweder mit Namen bekommen:

oder durch Weglassen des type Attribut:

<xs:element name="mapping" minOccurs="0" /> 
<xs:element name="options" minOccurs="0" /> 
+0

Perfect! Danke dir, genau das, was ich erwarte :) –