【发布时间】:2011-02-09 21:16:47
【问题描述】:
当存在包含其他样式表的样式表时,我在 XSL 处理方面遇到了一些问题。
(XML 文件可能无关紧要,但为了完整性而包含在内 - 代码在底部)。
给定 XML 文件:
<?xml version="1.0" ?>
<famous-persons>
<persons category="medicine">
<person>
<firstname> Edward </firstname>
<name> Jenner </name>
</person>
</persons>
</famous-persons>
和 XSL 文件:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:include href="included.xsl" />
</xsl:stylesheet>
在名为 included.xsl 的同一目录中引用此样式表:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<html><head><title>Sorting example</title></head><body>
</body></html>
</xsl:template>
</xsl:stylesheet>
我怎样才能使下面的代码片段:
NSError *lError = nil;
NSXMLDocument *lDocument = [ [ NSXMLDocument alloc ] initWithContentsOfURL:
[ NSURL URLWithString: @"file:///pathto/data.xml" ]
options: 0
error: &lError ];
NSXMLDocument *lResult = [ lDocument objectByApplyingXSLTAtURL: [ NSURL URLWithString: @"file:///pathto/style.xsl" ]
arguments: nil
error: nil ];
没有给我错误:
I/O warning : failed to load external entity "included.xsl"
compilation error: element include
xsl:include : unable to load included.xsl
我一直在尝试各种选择。预先使用 NSXMLDocumentXInclude 加载 XML 文档似乎也无济于事。指定要包含的 XSL 文件的绝对路径完美无缺。
有没有办法进行 XSL 处理,以便样式表可以在其本地路径中包含另一个样式表?
【问题讨论】: