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>
没有合适的资源?快使用搜索试试~ 我知道了~
pdfarranger-pdf编辑工具
共853个文件
pyc:461个
dll:139个
mo:137个
5星 · 超过95%的资源 需积分: 1 5 下载量 114 浏览量
2022-04-24
11:33:19
上传
评论
收藏 22.03MB 7Z 举报
温馨提示
PDF Arranger 是一款免费的 PDF 分割、合并、旋转、裁剪、重新排列工具,界面直观,简单易用
资源详情
资源评论
资源推荐
收起资源包目录
pdfarranger-pdf编辑工具 (853个子文件)
fetch_macholib.bat 75B
xxmodule.c 13KB
loaders.cache 3KB
command_template 633B
gschemas.compiled 3KB
_pydoc.css 96B
README.ctypes 296B
librsvg-2-2.dll 7.75MB
libgtk-3-0.dll 7.11MB
libpython3.8.dll 2.73MB
libpoppler-103.dll 2.73MB
libcrypto-1_1-x64.dll 2.66MB
etree-cpython-38.dll 1.72MB
libunistring-2.dll 1.68MB
libstdc++-6.dll 1.67MB
libepoxy-0.dll 1.66MB
libgnutls-30.dll 1.65MB
libgio-2.0-0.dll 1.55MB
libxml2-2.dll 1.3MB
qpdf28.dll 1.28MB
nss3.dll 1.24MB
libglib-2.0-0.dll 1.23MB
libgdk-3-0.dll 1.21MB
unicodedata-cpython-38.dll 1.06MB
libcairo-2.dll 1.04MB
libiconv-2.dll 1.01MB
libp11-kit-0.dll 1001KB
libharfbuzz-0.dll 959KB
_qpdf-cpython-38.dll 723KB
libzstd.dll 721KB
libfreetype-6.dll 707KB
libjpeg-8.dll 682KB
libpixman-1-0.dll 669KB
libcurl-4.dll 649KB
libssl-1_1-x64.dll 566KB
libgmp-10.dll 498KB
libtiff-5.dll 483KB
libwebp-7.dll 443KB
_imaging-cpython-38.dll 397KB
liblcms2-2.dll 383KB
libopenjp2-7.dll 380KB
libpoppler-glib-8.dll 360KB
libgobject-2.0-0.dll 308KB
objectify-cpython-38.dll 306KB
_gi-cpython-38.dll 303KB
libnspr4.dll 303KB
libfontconfig-1.dll 298KB
diff-cpython-38.dll 296KB
libpango-1.0-0.dll 290KB
libxslt-1.dll 285KB
libpcre-1.dll 277KB
libhogweed-6.dll 265KB
libssh2-1.dll 258KB
_codecs_jp-cpython-38.dll 253KB
libnettle-8.dll 249KB
libgirepository-1.0-1.dll 229KB
libpng16-16.dll 226KB
clean-cpython-38.dll 222KB
libmpdec-2.dll 191KB
libexpat-1.dll 189KB
libnghttp2-14.dll 171KB
libgdk_pixbuf-2.0-0.dll 170KB
_cairo-cpython-38.dll 168KB
smime3.dll 167KB
_elementpath-cpython-38.dll 160KB
_decimal-cpython-38.dll 159KB
libidn2-0.dll 158KB
nssutil3.dll 156KB
_ssl-cpython-38.dll 153KB
_codecs_hk-cpython-38.dll 153KB
liblzma-5.dll 152KB
libgraphite2.dll 151KB
sax-cpython-38.dll 149KB
_codecs_cn-cpython-38.dll 146KB
_ctypes-cpython-38.dll 142KB
libbrotlicommon.dll 140KB
libfribidi-0.dll 140KB
libatk-1.0-0.dll 134KB
_codecs_kr-cpython-38.dll 133KB
libintl-8.dll 131KB
_pickle-cpython-38.dll 129KB
_datetime-cpython-38.dll 112KB
_codecs_tw-cpython-38.dll 111KB
libtasn1-6.dll 100KB
_sha3-cpython-38.dll 99KB
libpsl-5.dll 95KB
zlib1.dll 92KB
libpangoft2-1.0-0.dll 91KB
libpangowin32-1.0-0.dll 89KB
imagequant.dll 88KB
libexslt-0.dll 88KB
builder-cpython-38.dll 83KB
libgcc_s_seh-1.dll 80KB
libbz2-1.dll 73KB
libwebpmux-3.dll 71KB
libpangocairo-1.0-0.dll 70KB
math-cpython-38.dll 67KB
libthai-0.dll 66KB
_elementtree-cpython-38.dll 63KB
_socket-cpython-38.dll 63KB
共 853 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
子不语
- 粉丝: 2745
- 资源: 93
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1