[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Where is my document? local source path discovery
Thanks Eliot. I'll give that a try now. I have been passing the path into Saxon as a parameter: java net.sf.saxon.Transform -s:""${input-file}"" -xsl:""C:/DITAwork/driver/xsl/FixURLv2.xsl"" opt_i=""${input-file}"" opt_o=""${output-file}"" but the source application passes a path that is corrupted by MS-DOS 'contractions', as in C:\PROGRA~1\..., so document-uri() is a much better solution. Thanks again, Richard -----Original Message----- From: Eliot Kimber Sent: 29 June 2008 18:01 To: xsl-list Subject: Re: Where is my document? local source path discovery (was XSLT 2 Functions for URL Manipulation (was Rewriting href)) On 6/28/08 3:21 PM, "Marroc" <marrocdanderfluff@xxxxxxxxxxx> wrote: > Wow Eliot - that is really useful, thanks. It took me a few minutes to > read and understand but now I have, it has certainly saved me a great > deal of time. Thanks very much. > > The missing piece of the puzzle then is to discover the local source > path from within the source document while it is being processed. Once > I have that, I'm home and dry! Does anyone have further ideas? In XSLT 2 you can use document-uri() to get the URI of the current document, so: <xsl:template match="/"> <xsl:variable name="inputUrl" select="document-uri(.)" as="xs:string"/ </xsl:template> In situations where the use of xml:base may have changed the base URI to which a given relative path should resolve, you can use base-uri() rather than document-uri(). For example, resolving references specified in incoming attributes. Cheers, Eliot
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|