为什么在命令行 XSLT 处理中 xi:include 查找 'fail'?
Why do the xi:include lookups 'fail' in command line XSLT processing?
我通常使用 Oxygen 来测试我的单文件转换 XML -> HTML。 (XML 文件使用 TEI 架构。)我使用很多 xi:includes
来引用人员列表 <listPerson/>
并使用 @[=42= 在我的标记中放置 <listPlace/>
].
我在 xi:include
中使用 @xml:id
在这样的键中进行查找:
<xsl:key name="persnymRef" match="tei:listPerson/tei:person" use="@xml:id"/>
使用这样的代码:
<xsl:value-of select = "key('persnymRef',$get_persNam)/tei:persName,' ')"/>
因此,@xml:id="petrus_fabri_PAR"
returns 文件 <xi:include href="people.xml">
中的值 Peire Faure, Paris
。 xml 文件与其他文件位于同一目录中。
当我使用 Oxygen 进行转换时,一切都很好。
但我现在正在使用 Saxon 测试命令行处理,任何依赖于 xl:include
的查找都会失败(即,xml:id 查找不输出任何内容)- XSLT 文件处理的其余部分有效美好的。
为什么在命令行中 xi:include
查找 'fail'?
在使用 XSLT 的 XML 的命令行处理中使用 xi:include
是否有特殊考虑?
我认为您必须在 Saxon 中显式 开启 xi:include 处理。也许此页面会对您有所帮助:https://www.saxonica.com/documentation9.5/sourcedocs/XInclude.html
我通常使用 Oxygen 来测试我的单文件转换 XML -> HTML。 (XML 文件使用 TEI 架构。)我使用很多 xi:includes
来引用人员列表 <listPerson/>
并使用 @[=42= 在我的标记中放置 <listPlace/>
].
我在 xi:include
中使用 @xml:id
在这样的键中进行查找:
<xsl:key name="persnymRef" match="tei:listPerson/tei:person" use="@xml:id"/>
使用这样的代码:
<xsl:value-of select = "key('persnymRef',$get_persNam)/tei:persName,' ')"/>
因此,@xml:id="petrus_fabri_PAR"
returns 文件 <xi:include href="people.xml">
中的值 Peire Faure, Paris
。 xml 文件与其他文件位于同一目录中。
当我使用 Oxygen 进行转换时,一切都很好。
但我现在正在使用 Saxon 测试命令行处理,任何依赖于 xl:include
的查找都会失败(即,xml:id 查找不输出任何内容)- XSLT 文件处理的其余部分有效美好的。
为什么在命令行中 xi:include
查找 'fail'?
在使用 XSLT 的 XML 的命令行处理中使用 xi:include
是否有特殊考虑?
我认为您必须在 Saxon 中显式 开启 xi:include 处理。也许此页面会对您有所帮助:https://www.saxonica.com/documentation9.5/sourcedocs/XInclude.html