Subject: Re: [xsl] is XPath 3.1 xml-to-json() function useful From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 8 Mar 2019 22:38:28 -0000 |
On 08.03.2019 23:07, Willem Van Lishout willemvanlishout@xxxxxxxxx wrote:I've been experimenting with the xml-to-json function, but for some reason my output is escaped. Why is that?
Stylesheet:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
B B B B xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:f="http://www.w3.org/2005/xpath-functions" version="3.0">
B B B B <xsl:output encoding="UTF-8" method="json"/>
B B B B <xsl:template match="/">
B B B B B B B B <xsl:variable name="transformed">
B B B B B B B B B B B B <xsl:apply-templates select="programs"/>
B B B B B B B B </xsl:variable>
B B B B B B B B <xsl:value-of select="xml-to-json($transformed, map{'indent': true()})"/>
The function returns a string you can output as such with the xsl:output method="text", you have used "json" instead which then applies JSON escaping rules on the string you have.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mf="http://example.com/mf" exclude-result-prefixes="#all" version="3.0">
<xsl:function name="mf:apply-templates" as="item()*"> <xsl:param name="input" as="item()*"/> <xsl:apply-templates select="$input"/> </xsl:function>
<xsl:template match="programs"> <xsl:sequence select="array { mf:apply-templates(*) }"/> </xsl:template>
<xsl:template match="program"> <xsl:sequence select="map { 'title' : string(@title) }"/> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] is XPath 3.1 xml-to-json(, Martin Honnen martin | Thread | Re: [xsl] is XPath 3.1 xml-to-json(, Wendell Piez wapiez@ |
Re: [xsl] is XPath 3.1 xml-to-json(, Wendell Piez wapiez@ | Date | Re: [xsl] is XPath 3.1 xml-to-json(, Mukul Gandhi gandhi. |
Month |