293.5. URI 和路径语法


以下示例演示了如何在 Java DSL 中调用 schematron 处理器。schematron 规则文件来自类路径:

from("direct:start").to("schematron://sch/schematron.sch").to("mock:result")
Copy to Clipboard Toggle word wrap

以下示例演示了如何在 XML DSL 中调用 schematron 处理器。schematron 规则文件来自文件系统:

<route>
   <from uri="direct:start" />
   <to uri="schematron:///usr/local/sch/schematron.sch" />
   <log message="Schematron validation status: ${in.header.CamelSchematronValidationStatus}" />
   <choice>
      <when>
         <simple>${in.header.CamelSchematronValidationStatus} == 'SUCCESS'</simple>
         <to uri="mock:success" />
      </when>
      <otherwise>
         <log message="Failed schematron validation" />
         <setBody>
            <header>CamelSchematronValidationReport</header>
         </setBody>
         <to uri="mock:failure" />
      </otherwise>
   </choice>
</route>
Copy to Clipboard Toggle word wrap
提示

在哪里存储模式规则?架构规则可根据业务需求改变,因此建议将这些规则存储在文件系统中。当启动 schematron 组件端点时,规则将作为 Java 模板对象编译到 XSLT 中。这只完成一次,可以最小化实例化 Java 模板对象的开销,对于大量规则来说,这可能是一个昂贵的操作,并假定进程经历了四个管道 XSLT 转换。因此,如果您在文件系统中存储规则,在更新时,您需要重新启动路由或组件。但是,在类路径中存储这些规则不会有害,但您必须构建和部署组件才能获取更改。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat