Re: [xsl] problem with json-to-xml()

Subject: Re: [xsl] problem with json-to-xml()
From: "Christophe Marchand cmarchand@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 22 Jun 2020 14:18:19 -0000
XPath map functions are in a different namespace than other standard functions. See https://www.w3.org/TR/xpath-functions-31/#map-functions

So, your XPath expression become : <xsl:value-of select="json-to-xml(unparsed-text('json'))/map:map/map:string[@key='id']"/>

Best,
Christophe

Le 22/06/2020 C 07:12, Wolfhart Totschnig wolfhart.totschnig@xxxxxxxxxxx a C)critB :
Hello,

I am using the json-to-xml() function for the first time and cannot get it to work. I was hoping that one of you could help me.

I have JSON data stored in a text file called "json". I can transform this data into xml and insert it into my output document with

json-to-xml(unparsed-text('json'))

That works as expected. The xml data that is produced from the JSON data and inserted into my output document looks like this (abbreviated):

B <map xmlns="http://www.w3.org/2005/xpath-functions";>
B B B B B B B B <string key="@context">http://lobid.org/resources/context.jsonld</string>
B B B B B B B B <string key="id">http://lobid.org/resources/search?q=isbn:3-492-21746-X&amp;format=json</string>
B </map>


Now, what I really would like to add to my output is the value of /map/string[@key='id'], that is, "http://lobid.org/resources/search?q=isbn:3-492-21746-X&amp;format=json";. I thought that it would be as simple as this:

<xsl:value-of select="json-to-xml(unparsed-text('json'))/map/string[@key='id']"/>

But this doesn't work. It does not produce any output. What am I misunderstanding?

Thanks in advance for your help!

Wolfhart

Current Thread