Subject: Re: [xsl] Json to xml From: "dvint@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 14 Mar 2025 18:38:53 -0000 |
<xsl:variable name="PROERPTIES"> <xsl:if test="$RUNWITH='XML'"> <xsl:value-of select="/j:map/j:map[@key='properties']"/> </xsl:if> <xsl:if test="$RUNWITH='JSON'"> <xsl:value-of select="json-to-xml(., map { 'escape' : true() })/j:map/j:map[@key='properties']"/> </xsl:if>
In the main XSLT I do this <xsl:param name="RUNWITH" select="JSON"/> and the included XSLT <xsl:param name="RUNWITH" select="XML"/>
In trying to build a small sample I have found where the problem is coming from. It looks like this might be a timing issue of when the stylesheet is read vs when the json-to-sml() file is triggered and that XML becomes available to evaluate.
At the top of the included XSLT is this
<!-- Remeber thsi content to lookup details later -->
<xsl:variable name="PROPERTIES" select="/j:map/j:map[@key='properties']"/>
I use this value to lookup details that are linked to much further down and deeply nested. This works prefectly when using this XSLT standalone with the generated XML file.
I'm guessing what happens when it is included in the main XSLT, that this variable is being set based upon the JSON file that the main XSLT is called with.
In the main XSLT, I moved this declaration out of the template so the variable is global:
<xsl:variable name="MAPFILE" select="json-to-xml(., map { 'escape' : true() })"/>
I then modified the PROPERTIES variable to use $MAPFILE and it now works.
<!-- Remeber thsi content to lookup details later --> <xsl:variable name="PROPERTIES" select="$MAPFILE/j:map/j:map[@key='properties']"/>
BUT it is now no longer possible to run the second stylesheet standalone.
So, I've found the problem and need to find a better way to capture this information.
..dan
On 2025-03-13 23:55, Martin Honnen martin.honnen@xxxxxx wrote:On 13/03/2025 19:25, dvint@xxxxxxxxx wrote:I'll try and see if I can make a small sample JSON and associated included XSLT.
Please do that, I couldn't see any obviuous mistakes in the code you posted.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Json to xml, dvint dvint@xxxxxxxx | Thread | Re: [xsl] Json to xml, Martin Honnen martin |
Re: [xsl] Help, my problem is n-cub, Dimitre Novatchev dn | Date | Re: [xsl] Json to xml, dvint dvint@xxxxxxxx |
Month |