[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: using {} brackets with xsl:result-document href (S
The href attribute of xsl:result document is an attribute value template, not an XPath expression. If you write href="$x" that means you want the URI to be "$x", if you write href="{$x}" that means you want the URI to be whatever the value of variable x is. If the value of the href attribute is a relative URI, it's interpreted relative to the base URI of the principal output document. This is known when you use the -o option on the Saxon command line, but is unknown if you send the result to standard output. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > malcolm macaulay > Sent: 22 April 2003 15:50 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: using {} brackets with xsl:result-document > href (Saxon 7.4) > > > Can someone please explain why I need to use {} bracket in > the href of > xsl:results-document? > > I'm familiar with using {} as a shortcut for writing values > into output > attributes but I'm not sure why I can't do something like: > > <xsl:result-document href="string($vFilePath) ... > > Saxon (7.4) gives me the following error: > > "the system identifier of the principal output file is unknown" > > No doubt I totally misunderstand the {} :-) > > Below are some examples of xsk:result-document which have confused me. > > Thanks for your help. > > cheers > > Malcolm > > XML: > > <?xml version="1.0" encoding="UTF-8"?> > <filesToMake> > <file path="c:/temp"/> > <file path="c:/temp/temp"/> > </filesToMake> > > XSLT: > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="2.0"> > <!-- --> > <xsl:variable name="fileSep" > select="system-property('file.separator')"/> > <!-- --> > <xsl:template match="/"> > <xsl:apply-templates/> > </xsl:template> > <!-- > > This works.. > > <xsl:template match="file"> > <xsl:variable name="vFileName" select="concat( > 'file:///' , @path , > $fileSep , 'test.xml' )"/> > <xsl:result-document href="{$vFileName}" > > <x>output..</x> > </xsl:result-document> > </xsl:template> > --> > <!-- > > This does not work.... Saxon says : The system > identifier of the principal > output file is unknown.. > > <xsl:template match="file"> > <xsl:variable name="vFileName" select="concat( > 'file:///' , @path , > $fileSep , 'test.xml' )"/> > <xsl:result-document href="$vFileName" > > <x>output..</x> > </xsl:result-document> > </xsl:template>--> > <!-- > > This works.. > > <xsl:template match="file"> > > <xsl:result-document > href="{'file:///'}{@path}{$fileSep}{'test.xml'}" > > <x>output..</x> > </xsl:result-document> > </xsl:template> > --> > <!-- > > This does not work.... Saxon says : The system > identifier of the principal > output file is unknown.. > > <xsl:template match="file"> > <xsl:variable name="vFileName" select="concat( 'file:///' , @path , $fileSep , 'test.xml' )"/> <xsl:result-document href="string($vFileName)" > <x>output..</x> </xsl:result-document> </xsl:template>--> <!-- This works... --> <xsl:template match="file"> <xsl:result-document href="file:///{@path}\test.xml" > <x>output..</x> </xsl:result-document> </xsl:template> <!-- This does not work.... Saxon says : The system identifier of the principal output file is unknown.. <xsl:template match="file"> <xsl:result-document href="concat( 'file:///' , @path , $fileSep , 'test.xml' )"> <x>output..</x> </xsl:result-document> </xsl:template>--> </xsl:stylesheet> _________________________________________________________________ Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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
|