xsl-list
[Top] [All Lists]

RE: [xsl] resolving relative path without base

2007-05-29 08:57:27

Use StreamSource.setSystemId() to define the base URI.

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Kai Hackemesser [mailto:kaha(_at_)gmx(_dot_)de] 
Sent: 29 May 2007 16:43
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] resolving relative path without base

Thanks, I tried that and it looks good.

But now I have a problem with relative links. My task is as 
follows: I have to create a xsl depending on some xml input. 
The resulting xsl file will import another xsl (depending on 
input from first xml file).

This is my code so far:

// loading preprocess XSL
StreamSource src = new
StreamSource(getClass().getResourceAsStream("/lrPreTransformHt
ml.xsl"));
// loading xml
StreamSource xml = new StreamSource(new 
ByteArrayInputStream(out.toByteArray()));
StreamResult result = new StreamResult(outRes); // create 
Transformer from factory and transform.
getTransformer(src).transform(xml,result);
// transform again and display
htmlPane.setText(transform(out.toByteArray(),outRes.toByteArray()));

The problem currently appearing is that the xsl file imported 
into the preprocess-created xsl stream also imports a xsl 
file - and since I now have only a ByteStream as Source, I 
lost the relativeness to that imported file. Is there another 
way than giving an absolute address in that import? Like 
setting a base url in FOP?

Kind regards,
Kai

M. David Peterson schrieb:
On Tue, 29 May 2007 06:35:47 -0600, Kai Hackemesser 
<kaha(_at_)gmx(_dot_)de> wrote:

Has anybody seen an example how to create xsl output with xsl?

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
  <xsl:template match="/">
    <xsl:element name="xsl:stylesheet">
      <xsl:attribute

name="xmlns:xsl">http://www.w3.org/1999/XSL/Transform</xsl:attribute>
      <xsl:attribute name="version">1.0</xsl:attribute>
      <xsl:element name="xsl:template">
        <xsl:attribute name="match">/</xsl:attribute>
        <xsl:element name="xsl:apply-templates"/>
      </xsl:element>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet>



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--