【发布时间】:2015-10-13 14:46:07
【问题描述】:
我正在从一些 alto xml 文件制作一个简单的 SVG 文件。除了烦人的命名空间问题外,我都可以使用它。
源 xml 的标头(我不应该更改)是
<alto xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.loc.gov/standards/alto/ns-v2#"
xsi:schemaLocation="http://www.loc.gov/standards/alto/ns-v2# http://www.loc.gov/standards/alto/alto-v2.0.xsd"
xmlns:xlink="http://www.w3.org/1999/xlink"
>
以及我的 xsl 的标题(如果我们能解决这个问题,我很乐意更改)
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/2000/svg"
>
这两件事结合起来造成了撒克逊错误:
严重性:警告 说明:SXXP0005:源文档在命名空间http://www.loc.gov/standards/alto/ns-v2#,但所有模板规则都匹配没有命名空间的元素 网址:http://www.saxonica.com/html/documentation/javadoc/net/sf/saxon/trans/SaxonErrorCode.html#SXXP0005
如果我从源代码中删除xmlns="http://www.loc.gov/standards/alto/ns-v2#" 行,我的转换工作就完美了……但我不想为了让这个脚本工作而修改和取消修改数百个这些文件。所以我真的需要一个可以修复 xsl 的更改。我尝试将 alto 行添加到 xsl 工作表中,但这只会给出“已经有命名空间”错误。
【问题讨论】:
标签: xslt svg namespaces