我有以下xml,我用.xsd架构验证。
我可以强制执行xProfile中的每个产品名称,并使用ref和key ref在xml的前半部分定义。
我想强制执行每个'xProduct'包含xml上半部分定义的每个产品的条目,但不知道如何执行此操作或是否可以这样做?
<?xml version="1.0" encoding="UTF-8"?>
<profiles xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="\\schema.xsd">
<products>
<product name="product01" bool_setting="true">
<code name="AAA"/>
<code name="BBB"/>
</product>
<product name="product02" bool_setting="true">
<code name="CCC"/>
<code name="DDD"/>
</product>
<product name="product03" bool_setting="true">
<code name="EEE"/>
</product>
<product name="product04" bool_setting="false">
<code name="FFF"/>
<code name="GGG"/>
</product>
<product name="product05" bool_setting="false">
<code name="HHH"/>
</product>
<product name="product06" bool_setting="false">
<code name="III"/>
</product>
</products>
<xProfile name="name_one">
<products>
<product name="product01" aNumber="1"/>
<product name="product02" aNumber="1"/>
<product name="product03" aNumber="1"/>
<product name="product04" aNumber="1"/>
<product name="product05" aNumber="1"/>
<product name="product06" aNumber="1"/>
</products>
</xProfile>
<xProfile name="name_one">
<products>
<product name="product01" aNumber="1"/>
<product name="product02" aNumber="1"/>
<product name="product03" aNumber="1"/>
<product name="product04" aNumber="1"/>
<product name="product05" aNumber="1"/>
<product name="product06" aNumber="1"/>
</products>
</xProfile>
</profiles>
答案 0 :(得分:0)
您能否请将您的架构粘贴到此处,但很难找到它。 否则有两种方法可以限制: 在XML中使用派生,一个是扩展派生,第二个是限制派生,如下所示: http://www.datypic.com/books/defxmlschema/chapter13.html