RE: [xsl] Creating doctype-system value dynamically

Subject: RE: [xsl] Creating doctype-system value dynamically
From: "Derek Revill" <derek@xxxxxxxxxxxxxxxxxx>
Date: Thu, 16 Jun 2005 13:32:41 +0100
Thanks Michael. The AVT override on the <xsl:result-document> does the job
(it provides the run-time calculated value).

Derek

> -----Original Message-----
> From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
> Sent: 16 June 2005 11:37
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] Creating doctype-system value dynamically
> 
> You can do this by generating the output file using
> 
> <xsl:result-document doctype-system="{$v_dtd-sys-path}">
> 
> The value of the doctype-system attribute is an AVT, and it's run-time
> value
> overrides anything specified in xsl:output.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> > -----Original Message-----
> > From: Derek Revill [mailto:derek@xxxxxxxxxxxxxxxxxx]
> > Sent: 16 June 2005 11:21
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] Creating doctype-system value dynamically
> >
> > Hello,
> >
> > Is it possible to generate the value for a doctype-system
> > attribute (on and
> > <xsl:output>) dynamically - i.e. referencing a variable, or
> > using an XPath
> > expression?
> >
> > I'm using XSLT v2.0 and Saxon 8.4.
> >
> > Reading M. Kay's book it says that the doctype-system
> > attribute takes a
> > string as its value. I tried a few tests using variables and
> > expressions but
> > these were faithfully reproduced as literal strings values.
> >
> > I'd like to do something like:
> >
> > <xsl:variable name="v_dtd-sys-path" select="resolve-uri('DTD/',
> > base-uri($v_stylesheet-node))" as="xs:anyURI"/>
> >
> > <xsl:output
> > name="isoxml"
> > method="xml"
> > encoding="UTF-8"
> > doctype-public="-//UBA//DTD ISO 12083:1993 Article UBA extensions//EN"
> > doctype-system="$v_dtd-sys-path"
> > indent="yes"/>
> >
> > but have $v_dtd-sys-path evaluated at run time.
> >
> > I want to create the system path to the DTD relative to wherever my
> > stylesheet is running from on the file system.
> >
> > Any ideas on how to achieve this?
> >
> > Thanks in advance.
> >
> > Derek Revill
> >
> > http://www.revill.demon.co.uk

Current Thread