Subject: Re: [xsl] Output < and > in the attribute from the style sheet From: Michael Kay <mike@xxxxxxxxxxxx> Date: Sun, 22 Apr 2012 00:14:28 +0100 |
Michael Kay Saxonica
Martin, thank you. I understand that the '>' doesn't have to be escaped in this case, and the final results is valid XML. However, I am wondering about a clean way to prevent the serializer from escaping it in the attributes. Currently, the combination of<xsl:text> and CDATA, is working fine, but it's ugly as I loose syntax highlight, and indentation. That is why I am looking for a better a way.
Thank you.
On Sat, Apr 21, 2012 at 7:15 AM, Martin Honnen<Martin.Honnen@xxxxxx> wrote:Mansour Al Akeel wrote:In on of the sheets I am working on there is the sign ">" in on of the attributes. I am trying to get this in the resulting XML. So I have this in my template:
<dependencies> <xsl:text disable-output-escaping="yes"> <![CDATA[ <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" conf="provided->*" /> <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.4" conf="compile->*" /> <dependency org="log4j" name="log4j" rev="1.2.16" conf="compile->*,!sources,!javadoc"> <exclude module="jmxri" /> <exclude module="jmxtools" /> </dependency> <dependency org="junit" name="junit" rev="4.8" conf="test->*" /> <dependency org="javax.servlet" name="javax.servlet-api" rev="3.0.1" conf="provided->*"> <artifact name="javax.servlet-api" type="jar" /> </dependency> ]]> </xsl:text>
I am using text and CDATA, as you can see in my style sheet. Is there a better way to output this without escaping the XML and generate the indented XML ?
Well the '>' sign does not need to be escaped but often is. So I don't see any problem with doing
<dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" conf="provided->*" /> <dependency org="org.slf4j" name="slf4j-log4j12" rev="1.6.4" conf="compile->*" /> <dependency org="log4j" name="log4j" rev="1.2.16" conf="compile->*,!sources,!javadoc"> <exclude module="jmxri" /> <exclude module="jmxtools" /> </dependency> <dependency org="junit" name="junit" rev="4.8" conf="test->*" /> <dependency org="javax.servlet" name="javax.servlet-api" rev="3.0.1" conf="provided->*"> <artifact name="javax.servlet-api" type="jar" /> </dependency>
literally in your stylesheet code, the serializer might later escape the '>' signs '>'.
If you want to use less than signs '<' then you need to escape them e.g <foo att="a< b"/> that is an XML syntax requirement and not specific to XSLT.
--
Martin Honnen --- MVP Data Platform Development http://msmvps.com/blogs/martin_honnen/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Output < and > in the att, Mansour Al Akeel | Thread | Re: [xsl] Output < and > in the att, Wendell Piez |
Re: [xsl] Output < and > in the att, Mansour Al Akeel | Date | Re: [xsl] n-queens?, Hermann Stamm-Wilbra |
Month |