- From: Martin Honnen <martin.honnen@gmx.de>
- Date: Sun, 10 Jan 2021 11:29:11 +0100
- To: public-xslt-40@w3.org
Am 09.01.2021 um 20:54 schrieb Michael Kay: > Let's do a use case: converting > > <hiistory> > <createdby="Michael Kay"on="2016-12-19"/> > <modifiedby="Michael Kay"on="2017-08-10"change="more precise result > assertion"/> > <modifiedby="Michael Kay"on="2019-12-02"change="Test wrongly assumed > that document order was predictable.'"/> > </history> > > to JSON: > > [ > { "event": "created", > "by" : "Michael Kay", > "on" : "2016-12-19" }, > > {"event" : "modified: > "by" : "Michael Kay", > "on" : "2017-08-10", > "change" : "more precise result assertion" }, > > {"event" : "modified: > "by" : "Michael Kay", > "on" : "2019-12-02", > "change" : "est wrongly assumed that document order was > predictable." } > ] > > I want to do this using template rules. Something like this: > > <xsl:output method="json"/> > > <xsl:template match="history"> > <xsl:array> > <xsl:apply-templates/> > </xsl:array> > </xsl:template> > > <xsl:template match="history/*"> > <xsl:array-member> > <xsl:map> > <xsl:map-entry key="'event'" select="local-name()"/> > <xsl:apply-templates select="@*"/> > </xsl:map> > </xsl:array-member> > </xsl:template> > > <xsl:template match="@*"> > <xsl:map-entry key="local-name()" select="."/> > </xsl:template> In the spirit of XSLT template based processing I think this fits in nicely with existing skills and existing approaches in previous versions of XSLT.
Received on Sunday, 10 January 2021 10:29:24 UTC