有人可以给我一个如何在xml中使用自定义标签编写规则的示例,要求是我需要在xml中编写规则(例如:规则1:在采购订单中,如果客户发送到许多不同的地址,那是一个欺诈性的交易。)
一旦规则以xml编写,然后将其输出到xslt(这是任务的下一部分)
感谢您的帮助
答案 0 :(得分:2)
听起来就像你需要的一样。 Schematron文件是XML,可以编译成XSLT。您可以使用它来验证各种自定义业务规则和逻辑。
Schematron基本不同 来自其他模式语言的概念 它不是基于语法而是基于语法 在解析中找到树模式 文献。这种方法允许很多 要表示的各种结构 这是不方便和困难的 在基于语法的模式语言中。如果 你知道XPath或XSLT表达式 语言,你可以开始使用了 Schematron立刻。
它有免费和开源 实现可用。
Schematron很简单 在XSLT和。之上实现 定制。 (还有 Python和Perl中的实现)
Schematron允许您开发 并混合两种模式:
1。) 报告 元素可让您进行诊断 你是哪种语言的变体 处理。
2。) 断言 元素允许 你确认一下这份文件 符合特定架构。
在 Schematron基于一个简单的 动作:
- 首先,找到一个上下文节点 基于文档(通常是元素) 在XPath路径标准;
- 然后,检查 看看是否有其他一些XPath表达式 对于每个节点都是如此。
示例Schematron模式:
<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" >
<sch:title>Test number of shipping addresses</sch:title>
<sch:p>This schema tests whether multiple shipping addresses have been used. </sch:p>
<sch:ns prefix="po" uri="http://example.org/PurchaseOrder" />
<sch:pattern id="P1">
<sch:rule context="po:order">
<sch:report test="po:address[2]"
>Multiple shipping addresses are not allowed</sch:report>
</sch:rule>
</sch:pattern>
</sch:schema>