Re: [xsl] •

Subject: Re: [xsl] •
From: Greg Martel <gregm@xxxxxxxxxxx>
Date: Sat, 8 Jun 2002 09:33:59 -0500
Thanks guys, this is helpful; but as for using disable-output-escaping, I was not able to use it for this character (yes, Wendell, I tried). When I tried to define either #8226 or 8226 as the entity reference in my stylesheet, I got a message that the file was not well-formed. However, when I changed the entity reference to anything that starts with a letter "<!ENTITY bull" instead of "<!ENTITY #8226" or "<!ENTITY 8226" I was able to save the file without incident. I use XML spy over Xalan-Java, or MSXML4 so maybe what I am seeing is caused by XML SPY? Doesn't seem likely.

Anyway, when I was unable to save the file, I leaped to the (wrong) conclusion that somehow defining an entity that doesn't start with a letter of the alphabet is illegal in XML, at least in an XSL stylesheet. Any guesses as to why I get the message telling me that this can be saved:

<?xml version ="1.0"?>
<!DOCTYPE stylesheet [
<!ENTITY ntilde
"<xsl:text disable-output-escaping>&amp;ntilde;</xsl:text>">
]>
<xsl:stylesheet . . .


and this:


<?xml version ="1.0"?>
<!DOCTYPE stylesheet [
<!ENTITY #8226
"<xsl:text disable-output-escaping>&amp;8226;</xsl:text>">
]>
<xsl:stylesheet . . .


cannot because it's not well-formed?







 Why doesn't this XML content:      &amp;#8226;
 produce this output:               &#8226;

Why do you think it should? The first is 6 characters in the stylesheet. 6 non white space characters in character data always just produce 6 characters in the output. Your required output is one character reference. To get that character put &#8226; into the stylesheet.

 It's bloody nigh impossible to get my XML parser (Xalan-Java) NOT to
 recognize entities except for this one case where recognizing it

It does recognise it. &amp; means an ampersand as character not as markup, so that's what appears in the result tree. But that ampersamd character in teh result tree has to be linearised as &amp; otherwise parsing teh result wouldn't reproduce that character.

You haven't said why you think just putting &#8226; into the stylesheet
does not work.

David


_____________________________________________________________________ This message has been checked for all known viruses by Star Internet delivered through the MessageLabs Virus Scanning Service. For further information visit http://www.star.net.uk/stats.asp or alternatively call Star Internet for details on the Virus Scanning Service.

XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list

-- Thanks,

gregm

XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread