[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Typing variables
On Tue, Sep 18, 2012 at 9:32 AM, Andrew Welch <andrew.j.welch@xxxxxxxxx> wrote: >>> or wrap all of the contents in <xsl:value-of> (with no select >>> attribute) and then use xs:string >>> >>> or (most efficiently) change the existing value-of to xsl:sequence and >>> concat the double quotes, and use xs:string. >>> >> >> that doesn't get past the type checker because it's sees the resulting >> value as more than 1 string. It was useful to change the value-of to >> xsl:sequence. > > Which bit doesn't get past the type checker (it should be fine) - can > you post the code? > <xsl:template match="*"> <xsl:text/>"<xsl:value-of select="if (contains(local-name(),'__')) then substring-after(local-name(),'__') else local-name() ,." separator='":"'/>"<xsl:text/> </xsl:template> <xsl:template match="elem"> <xsl:variable name="val">"<xsl:sequence select="replace(.,',',concat($quot,',',$quot))"/>"</xsl:variable> "<xsl:value-of select="if (contains(local-name(),'__')) then substring-after(local-name(),'__') else local-name() ,$val" separator='":['/>]<xsl:text/> </xsl:template> If you type $val as xs:string+ you don't get the right result, if you type it as xs:string it doesn't type check. Michael's solution is enlightening.
|
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
|