- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很难验证结合 Schematron 的 SXD 模式。
遵循此 guide 中描述的步骤我在 <xs:appinfo>
之间加入了 schematron XSD 文档中的标签如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Test">
<xs:annotation>
<xs:appinfo>
<sch:pattern name="Testing schematron" xmlns:sch="http://purl.oclc.org/dsdl/schematron">
<sch:rule context="Test">
<sch:assert test="@Attribute1">Attribute 1 exists</sch:assert>
</sch:rule>
</sch:pattern>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Attribute1" type="xs:string" use="optional"/>
<xs:attribute name="Attribute2" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="ISO-8859-1"?>
<Test Attribute1="attr1"/>
step3.xsl:13: parser error : Extra content at the end of the document
plates select="*|comment()|processing-instruction()" mode="M0"/></axsl:template>
^
cannot parse step3.xsl
最佳答案
您的架构是正确的,并完成了它的意图......
问题出在脚本上:这个脚本期望接收一个 Schematron 模式,而你给它一个带有嵌入规则的 XML 模式,这是一种不同的野兽。
要进行验证,您需要运行第一个转换,该转换将从 XML Schema 中提取 Schematron 并对这个结果运行验证。
您还可以使用 xmllint (libxml) 根据 XML 模式验证文档,这是一种不同的操作。
要做到这一点,您可以更改下载ExtractSchFromXSD.xsl你的脚本:
#!/bin/bash
echo XSD validation
xmllint -schema $1 $2
echo Step0 ...
xsltproc ExtractSchFromXSD.xsl $1 > schema.sch
echo Step1 ...
xsltproc iso_dsdl_include.xsl schema.sch > 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 | tee result.svrl
关于xml - 使用 Schematron 和 xsltproc 验证 XSD 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384788/
我正在尝试使用 XSLT 样式表转换 XHTML,但我什至无法获得匹配任何内容的基本样式表。我确定我错过了一些简单的东西。 这是我的 XHTML 源文件(没什么大惊小怪的): ... 实际
我正在尝试编写一个简单的 .xslt 来处理 .xml 文件。但我一直很困惑 - 为什么标签中的文字 text也印出来了?请看例子: sample.xml Joe
所以,我想做的是使用 xsltproc 查询 XML 文件,传入服务器名称的参数。此名称包含在 XML 文档中。我想从此文件中提取用户名和密码。 因此,Name 是 User 和 Pass 的兄弟。我
我正在尝试清理一些 html。我已经用 tidy 将它们转换为 xhtml $ tidy -asxml -i -w 150 -o o.xml index.html 生成的 xhtml 最终具有命名实体
我正在尝试将一个非常简单的 xml 转换为 html。实际上xml文件是空白的。 这是我的 XSL How you doing?
您好,我必须在以下条件下合并 xml 文件: 复制新文件的所有现有节点,然后与旧文件值合并。例如: 文件 abc.xml Alpha
背景: 我们创建了一个客户端门户,它从我们的数据库中选择所需的数据点并将它们输出为 XML。客户以 XSLT 样式表的形式向我们提供了他们想要的格式。因此,我们向他们交付的文件最好是尽可能对用户最友好
我所有的输出都有 在我预期的输出之前。我该如何摆脱这个?我查看了不同的标志,但找不到与此相关的任何内容。 一些额外的细节: 使用 Fedora 8 [a@...]$ xsltproc -V 使用 li
我有这个 XSLT 语法表: 因此,我想根据正则表达式复制除某些节点以外的所有内容。我想使用 XSLT 2 的匹
我正在尝试使用 xsltproc 解析一个 13,00,000 行长、大小为 56 MB 的输入 xml 文件。我收到以下错误: input.xml:245393: parser error : in
我正在尝试为 XML 文档生成一个 postscript 文件。我可以使用 xsltproc 生成纯文本或 html 输出。 xsltproc --output output.txt xslFile.
需要使用 bash shell 将 xml 文件转换为 csv。检查我们在 Linux 主机上是否有可用的 xsltproc。如果还有其他方法可以通过 bash shell 将其转换为 csv。请告诉
我有一个项目,其中包含一堆使用 bash 脚本捆绑在一起的小程序,按照 Unix 哲学。他们的交换格式最初是这样的: meta1a:meta1b:meta1c AST1 meta2a:meta2b:m
我很难验证结合 Schematron 的 SXD 模式。 遵循此 guide 中描述的步骤我在 之间加入了 schematron XSD 文档中的标签如下:
我已经使用 xsltproc 将一些 xml 转换为另一个 xml。 xsltproc iso8859_1.xslt iso8859.xml 并且重音显示不正确(我的 Linux 中的 $LANG 是
我已经使用 xsltproc 将一些 xml 转换为另一个 xml。 xsltproc iso8859_1.xslt iso8859.xml 并且重音显示不正确(我的 Linux 中的 $LANG 是
我有很多具有以下形式的 XML 文件: 我想从文件中删除。 使用 XSLT 样式表和 Linux 命令行实用程序 xsltproc,我该怎么做? 此时在脚本中我已经有了包含我希望删除的元素的文件列表
我正在尝试将 Tomcat 用户添加到 $CATALINE_HOME/conf/tomcat-users.xml在bash带有 xsltproc 的脚本如下(tomcat-users.xml 是 Ap
我有一个如图所示的 XSL 我使用它来查找 2 个 XML 文件中
设法让我的 xsl 在 http://www.xmlper.com/ 工作(来自其他 stackoverflow 评论的好工具很好的推荐)。 但是当我在我的 mac os x 命令行上运行相同的(现在
我是一名优秀的程序员,十分优秀!