Я фактически работаю с картой 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.
Отлично! Спасибо вам, именно то, что я ожидаю :) –