Skip to content

Commit fc7fdad

Browse files
Merge pull request #818 from henryborchers/escape-backslashes-in-json
the value of ref in JSON escapes backslashes.
2 parents 711c59e + fee7135 commit fc7fdad

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

Source/Resource/displays/MediaConchJson.xsl

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,22 @@
4242
<xsl:text>&#xa;}&#xa;</xsl:text>
4343
</xsl:template>
4444

45+
<xsl:template name="escape-backslashes">
46+
<xsl:param name="text"/>
47+
<xsl:choose>
48+
<xsl:when test="contains($text, '\')">
49+
<xsl:value-of select="substring-before($text, '\')"/>
50+
<xsl:text>\\</xsl:text>
51+
<xsl:call-template name="escape-backslashes">
52+
<xsl:with-param name="text" select="substring-after($text, '\')"/>
53+
</xsl:call-template>
54+
</xsl:when>
55+
<xsl:otherwise>
56+
<xsl:value-of select="$text"/>
57+
</xsl:otherwise>
58+
</xsl:choose>
59+
</xsl:template>
60+
4561
<xsl:template match="mc:media">
4662
<xsl:param name="level"/>
4763
<xsl:param name="attributes"/>
@@ -56,7 +72,9 @@
5672
<xsl:text>{</xsl:text>
5773
<xsl:value-of select="substring($indent, 1, 1 + 4 + $level * 2)"/>
5874
<xsl:text>"ref": "</xsl:text>
59-
<xsl:value-of select="@ref"/>
75+
<xsl:call-template name="escape-backslashes">
76+
<xsl:with-param name="text" select="@ref"/>
77+
</xsl:call-template>
6078
<xsl:text>"</xsl:text>
6179
<xsl:apply-templates select="mc:implementationChecks|mc:policyChecks">
6280
<xsl:with-param name="level" select="$level + 2"/>

0 commit comments

Comments
 (0)