xml:base
Jack Bates <[email protected]>
| Newsgroups | gmane.text.xml.xalan.java.user |
|---|---|
| Message-ID | <1257887296.23183.3.camel@tad> |
I'm processing XML which contains relative URLs, e.g
"index.php?title=User_manual", and want to apply templates to the
referenced resources
I'm trying to do so with the "document()" function
When I pass a relative URL to the "document()" function, it resolved to
the wrong absolute URL, e.g. "/home/jablko/index.php"
So I tried using xml:base, e.g.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates xml:base="http://ica-atom.org/docs/" select="document('index.php?title=User_manual')/html:html"/>
</xsl:template>
</xsl:stylesheet>
http://www.sfu.ca/~jdbates/tmp/xalan/200911090/test.xsl
^ This works great with xsltproc,
$ xsltproc test.xsl test.xsl
[...]
$
- but not Xalan,
$ java -jar xalan-j_2_7_1/xalan.jar -IN test.xsl -XSL test.xsl
file:///home/jablko/test.xsl; Line #4; Column #123; Can not load requested doc: /home/jablko/index.php (No such file or directory)
<?xml version="1.0" encoding="UTF-8"?>$
Any advice on resolving relative URLs?
Is it a bug that Xalan appears to ignore xml:base?