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?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.