具有自定义子节点的XML文件



我实际上正在使用Magento 2框架,该框架为他的配置文件实现XSD模式
我有一个文件flow.xml,开发人员在其中放置了一个XML映射和一些配置
我的目标是使两个节点成为强制性的mappingoptions,开发人员可以在这两个节点上编写他想要的任何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模式的新手,我正在努力寻找一种解决方案,在这种解决方案中,我的两个节点中可以包含所有内容。

谢谢,
Matthéo。

您想要的类型是xsd:anyType,您可以通过名称获得:

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

或者通过省略type属性:

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

相关内容

  • 没有找到相关文章

最新更新