File tree 1 file changed +10
-5
lines changed
1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change 30
30
<xsl : when test =" $valueProvider/(self::attribute(value)|self::cssm:value)" >
31
31
<xsl : sequence select =" string($valueProvider)" />
32
32
</xsl : when >
33
- <xsl : when test =" not($requires-quotes) and $valueProvider/(self::attribute(string)|self::cssm:string)" >
34
- <xsl : sequence select =" string($valueProvider)" />
35
- </xsl : when >
36
33
<xsl : otherwise >
37
34
<xsl : apply-templates select =" $valueProvider" mode =" cssm:serialize" >
38
35
<xsl : with-param name =" requires-quotes" select =" $requires-quotes" tunnel =" yes" />
52
49
<xsl : template match =" @string | string" mode =" cssm:serialize" priority =" 10" >
53
50
<xsl : param name =" requires-quotes" select =" true()" tunnel =" yes" as =" xs:boolean" />
54
51
<xsl : choose >
55
- <xsl : when test =" $requires-quotes" >
56
- <xsl : sequence select =" '''' || . || ''''" />
52
+ <xsl : when test =" $requires-quotes or matches(., '\s|" |''|\\')" >
53
+ <xsl : variable name =" q" select ="
54
+ if (matches(., '''')) then '" ' else ''''
55
+ " />
56
+ <xsl : variable name =" value" select ="
57
+ replace(., '(\\|' || $q || ')', '\\$1')
58
+ " >
59
+ </xsl : variable >
60
+
61
+ <xsl : sequence select =" $q || $value || $q" />
57
62
</xsl : when >
58
63
<xsl : otherwise >
59
64
<xsl : value-of select =" ." />
You can’t perform that action at this time.
0 commit comments