根据具有任何元素的模式验证XML

时间:2011-11-03 09:20:04

标签: schema xml-validation

我有一个名为BPMN20.xsd的模式,下面有一个名为extensionElements.see的元素:

<xsd:element name="extensionElements" type="tExtensionElements" /> 
    <xsd:complexType name="tExtensionElements">
        <xsd:sequence>
            <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> 
        </xsd:sequence>
    </xsd:complexType>

现在xml包含extensionElements中的元素,这些元素符合另一个模式ufl.xsd。例如:

<extensionElements>
    <ufl:java method="calculate"
            class="com.companyx.orchestration.bpmn.ordermanagement.data.CalculateOrderAmount">
                    <ufl:arg type="com.companyx.orchestration.bpmn.ordermanagement.data.OrderLine"
                        var="item" />
                </ufl:java>
</extensionElements>

现在我想针对这两种模式验证我的XML。这该怎么做 ? 如果我只是根据BPMN20.xsd验证我的xml它是有效的(因为内容如果extensionElements被定义为any。但是我也想验证extensionElements内的内容对ufl.xsd

请帮忙......

谢谢, 亚洲时报Siddharth

1 个答案:

答案 0 :(得分:0)

在定义any元素的架构中使用processContents作为lax。 这将强制转换器查找传递的xml的架构元素。