ISO SCHEMATRON 2010
XSLT implementation by Rick Jelliffe with assistance from members of Schematron-love-in maillist.
2010-04-21
Two distributions are available. One is for XSLT1 engines.
The other is for XSLT2 engines, such as SAXON 9.
This version of Schematron splits the process into a pipeline of several different XSLT stages.
1) First, preprocess your Schematron schema with iso_dsdl_include.xsl.
This is a macro processor to assemble the schema from various parts.
If your schema is not in separate parts, you can skip this stage.
This stage also generates error messages for some common XPath syntax problems.
2) Second, preprocess the output from stage 1 with iso_abstract_expand.xsl.
This is a macro processor to convert abstract patterns to real patterns.
If your schema does not use abstract patterns, you can skip this
stage.
3) Third, compile the Schematron schema into an XSLT script.
This will typically use iso_svrl_for_xslt1.xsl or iso_svrl_for_xslt2.xsl
(which in turn invoke iso_schematron_skeleton_for_xslt1.xsl or iso_schematron_skeleton_for_saxon.xsl)
However, other "meta-stylesheets" are also in common use; the principle of operation is the same.
If your schema uses Schematron phases, supply these as command line/invocation parameters
to this process.
4) Fourth, run the script generated by stage 3 against the document being validated.
If you are using the SVRL script, then the output of validation will be an XML document.
If your schema uses Schematron parameters, supply these as command line/invocation parameters
to this process.
The XSLT2 distribution also features several next generation features,
such as validating multiple documents. See the source code for details.
Schematron assertions can be written in any language, of course; the file
sch-messages-en.xhtml contains the diagnostics messages from the XSLT2 skeleton
in English, and this can be used as template to localize the skeleton's
error messages. Note that typically programming errors in Schematron are XPath
errors, which requires localized messages from the XSLT engine.
ANT
---
To give an example of how to process a document, here is a sample ANT task.
<target name="schematron-compile-test" >
<!-- expand inclusions -->
<xslt basedir="test/schematron"
style="iso_dsdl_include.xsl" in="test.sch" out="test1.sch">
<classpath>
<pathelement location="${lib.dir}/saxon9.jar"/>
</classpath>
</xslt>
<!-- expand abstract patterns -->
<xslt basedir="test/schematron"
style="iso_abstract_expand.xsl" in="test1.sch" out="test2.sch">
<classpath>
<pathelement location="${lib.dir}/saxon9.jar"/>
</classpath>
</xslt>
<!-- compile it -->
<xslt basedir="test/schematron"
style="iso_svrl_for_xslt2.xsl" in="test2.sch" out="test.xsl">
<classpath>
<pathelement location="${lib.dir}/saxon9.jar"/>
</classpath>
</xslt>
<!-- validate -->
<xslt basedir="test/schematron"
style="test.xsl" in="instance.xml" out="instance.svrlt">
<classpath>
<pathelement location="${lib.dir}/saxon9.jar"/>
</classpath>
</xslt>
</target>
没有合适的资源?快使用搜索试试~ 我知道了~
20231201更新 完全免费版 解析PDF/OFD电子发票,生成excel汇总表 并可对源文件按规则进行重命名
共1820个文件
gz:148个
msg:143个
pyd:95个
3星 · 超过75%的资源 需积分: 1 22 下载量 132 浏览量
2023-04-19
14:05:02
上传
评论
收藏 44.31MB ZIP 举报
温馨提示
更新日期:20231201 更换os模块,避免360误报问题. 修复excel汇总公式问题. 增加:自定义重命名规则功能。可以按照 发票名称,发票金额,开票日期,发票类型,发票代码,二级目录,购买方、销售方自由组合命名规则。 默认规则:二级目录_开票日期_发票代码_发票号码_发票金额。 发票金额不再取整,保留小数。 适配新版电子发票,修复上一版本金额提取错误问题。 重新设计ofd发票提取方式。 增加个“发票类型” 增加“货物或劳务内容” 增加“专用发票”标黄提醒(输出窗口和excel表格)
资源推荐
资源详情
资源评论
收起资源包目录
20231201更新 完全免费版 解析PDF/OFD电子发票,生成excel汇总表 并可对源文件按规则进行重命名 (1820个子文件)
Abidjan 148B
Abidjan 141B
Accra 1KB
Accra 148B
Acre 614B
Acre 189B
ACT 2KB
ACT 185B
Adak 8KB
Adak 2KB
Addis_Ababa 265B
Addis_Ababa 184B
Adelaide 8KB
Adelaide 2KB
Aden 166B
Aden 151B
Alaska 2KB
Alaska 184B
Aleutian 2KB
Aleutian 171B
Algiers 1KB
Algiers 735B
Almaty 2KB
Almaty 983B
Amman 7KB
Amman 1KB
Amsterdam 9KB
Amsterdam 3KB
Anadyr 2KB
Anadyr 1KB
Anchorage 8KB
Anchorage 2KB
Andorra 7KB
Andorra 2KB
Anguilla 246B
Anguilla 203B
Antananarivo 265B
Antananarivo 185B
Antigua 246B
Antigua 202B
LICENSE.APACHE 11KB
Apia 5KB
Apia 598B
Aqtau 2KB
Aqtau 969B
Aqtobe 2KB
Aqtobe 997B
Araguaina 2KB
Araguaina 870B
Arizona 360B
Arizona 179B
Aruba 246B
Aruba 182B
Ashgabat 847B
Ashgabat 605B
Ashkhabad 605B
Ashkhabad 177B
Asmara 265B
Asmara 179B
Asmera 265B
Asmera 179B
AST4 196B
AST4ADT 187B
Astrakhan 2KB
Astrakhan 1KB
Asuncion 8KB
Asuncion 2KB
Athens 8KB
Athens 2KB
Atikokan 332B
Atikokan 182B
Atka 2KB
Atka 172B
Atlantic 3KB
Atlantic 184B
Atyrau 2KB
Atyrau 977B
Auckland 8KB
Auckland 2KB
Azores 9KB
Azores 3KB
Baghdad 2KB
Baghdad 969B
Bahia 2KB
Bahia 1010B
Bahia_Banderas 6KB
Bahia_Banderas 1KB
Bahrain 185B
Bahrain 166B
BajaNorte 2KB
BajaNorte 185B
BajaSur 1KB
BajaSur 186B
Baku 2KB
Baku 1KB
Bamako 179B
Bamako 148B
Bangkok 185B
Bangkok 174B
Bangui 235B
共 1820 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19
资源评论
- sezvboyrul2023-11-23用Python写的,实话有些粗糙
嶗山可樂
- 粉丝: 6
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功