: [XML-SIG] "&" and "<" within a string
Thomas B. Passin
tpassin@idsonline.com
Thu, 15 Jul 1999 08:22:08 -0400
On Tuesday, 13 July, wasc wrote:
>Subject: [XML-SIG] "&" and "<" within a string
>saxlib is throwing exceptions when I use "&" and "<" literally within an
>attribute value of type string, as it should.
>For example,
> <tag> name= "R&D library" value="<ROOT>/lib" />
>The XML spec says to use "&" and "<" when used literally in string.
>However, if I define
> <tag> name= "R&D library" value="<ROOT>/lib" />
>I still get an exception (apparently, the parser accepts the ">" and "/").
>Am I interpreting the spec correctly? Any suggestions?
>Thanks,
>Fred
Your problem is ill-formed XML, if your sample code is accurate. The following version works fine (meaning that it gets accepted by
the msxml parser, and by xt if you have an acceptable stylesheet):
<?xml version="1.0"?>
<doc>
<tag name="R&D library" value="<ROOT>/lib" />
</doc>
Here is a stylesheet for the above xml that works with xt:
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl='http://www.w3.org/XSL/Transform/1.0'
indent-result="yes">
<xsl:template match="tag">
name: <xsl:value-of select="@name"/>
value: <xsl:value-of select="@value"/>
</xsl:template>
</xsl:stylesheet>
Here is the xt output:
C:>xt x1.xml x1.xsl
name: R&D library
value: <ROOT>/lib
Regards,
Thomas Passin