On Tue, Sep 18, 2012 at 9:32 AM, Andrew Welch
<andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> 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.
--~------------------------------------------------------------------
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>
--~--