根据具有任何元素的架构验证 XML
我有一个名为 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在定义 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.