首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Schematron sh脚本没有行为

Schematron sh脚本没有行为
EN

Stack Overflow用户
提问于 2013-07-23 19:55:38
回答 1查看 237关注 0票数 1

我找到了Schematron的shell脚本,您应该能够为Schematron模式和XML文档提供一个shell脚本,以便将Schematron规则应用于XML文档。我在这里找到了剧本:

https://code.google.com/p/schematron/wiki/RunningSchematronWithGNOMExsltproc

脚本使用的各种xsl文件是从Schematron发行版下载的:

http://www.schematron.com/implementation.html

为了方便起见,我将在这里重复shell脚本。

代码语言:javascript
复制
#!/bin/bash

echo Step1 ...
xsltproc iso_dsdl_include.xsl $1 > step1.xsl

echo Step2 ...
xsltproc iso_abstract_expand.xsl step1.xsl > step2.xsl

echo Step3 ...
xsltproc iso_svrl_for_xslt1.xsl step2.xsl > step3.xsl

echo Validation ...
xsltproc step3.xsl $2 > result.svrl 

我像这样运行脚本:

run_schematron.sh docbook1.sch my_xml.xml

shell脚本生成中间文件,步骤1.xsl、步骤2.xsl和步骤3.xsl。但是,我已经在第2.xsl步偏离了轨道,因为它看起来如下所示:

代码语言:javascript
复制
<?xml version="1.0"?>

        @linkend on footnoteref must point to a footnote.

         @linkend on synopfragmentref must point to a synopfragment.

在我看来,这并不像一个XSL样式表。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-24 12:56:46

问题是,对于docbook.sch 5.0使用的是DocBook,它不是ISO Schematron模式(绑定到s:前缀的命名空间不是http://purl.oclc.org/dsdl/schematron)。

在docbook.sch for DocBook 5.0中,只需更改以下内容:

代码语言:javascript
复制
xmlns:s="http://www.ascc.net/xml/schematron"

对此:

代码语言:javascript
复制
xmlns:s="http://purl.oclc.org/dsdl/schematron"

...and,它会工作的。

docbook.sch for DocBook 5.1 (尚未正式发布)中,名称空间已被更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17819827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档