根据具有任何元素的架构验证 XML

发布于 2024-12-13 08:10:54 字数 1061 浏览 3 评论 0原文

我有一个名为 BPMN20.xsd 的架构,其中有一个名为 extensionElements 的元素。请参阅下面的示例:

<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 被定义为任何内容,那么内容。但是我也想根据 ufl.xsd 验证 extensionElements 内的内容

请帮忙...

谢谢, 悉达多

I have a schema say called BPMN20.xsd having an element called extensionElements.see sample below:

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

Now the xml contains elements inside extensionElements, which conform to another schema say ufl.xsd. Example:

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

Now i want to validate my XML against both the schemas. How to do this ?
If i just validate my xml against BPMN20.xsd it works (since content if extensionElements is defined as any. However i also want to validate the contents inside extensionElements against ufl.xsd

Please help...

Thanks,
Siddharth

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深居我梦 2024-12-20 08:10:54

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

Use processContents as lax in the schema where you defined the any element.
This will enforce the converter in finding the schema element for the passed xml.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文