2016-04-07 4 views
0

Я фактически работаю с картой Magento 2, которая реализует схему XSD для своих файлов конфигурации.
У меня есть файл flow.xml, где разработчик разместил его XML-сопоставление и некоторые конфигурации.
Моя цель состоит в том, чтобы сделать два узла обязательными mapping и options, где разработчик может написать любую структуру XML, которую он хочет.XML-файл с пользовательскими дочерними узлами

Вот мои фактические файлы:

# 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> 

Мой файл XSD выглядит следующим образом:

# 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> 

я пытался mixed значения, xs:all, дифферент типы элементов, но не результат.

Это, может быть, кусок торта, но я новичок в схемах XSD, и я изо всех сил стараюсь найти решение, где в моих двух узлах может быть все.

Thank you,
Matthéo.

ответ

1

Тип вы хотите xsd:anyType, который вы можете получить либо по имени:

или опуская атрибут type:

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

Отлично! Спасибо вам, именно то, что я ожидаю :) –

Смежные вопросы