xsl-list
[Top] [All Lists]

Re: [xsl] using xsl:output-character to render characters in 2 ways

2009-11-13 11:40:15
Tom T wrote:
I'll change my example.

Financial Times, "Erdoğan Grubu'na"

creates

  <meta name="description"
            content='Financial Times, &#34;Erdoğan Grubu'na&#34;'
            />

I now have an attribute that is marked up by single quotes containing
a single quote. IE6 for one cannot deal with this.

Is the above 'meta' element the output of an XSLT processor? Which one do you use?

For instance when I have an input XML with your above text

<desc>Financial Times, "Erdoğan Grubu'na"</desc>

and then use Saxon 9.2.0.3 to run the stylesheet

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:xs="http://www.w3.org/2001/XMLSchema";
  xmlns="http://www.w3.org/1999/xhtml";
  exclude-result-prefixes="xs"
  version="2.0">

  <xsl:output indent="yes" method="xhtml" omit-xml-declaration="yes"/>

  <xsl:template match="/">
    <html>
      <head>
        <title>Example</title>
        <xsl:apply-templates select="desc"/>
      </head>
      <body>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="desc">
    <meta name="description" content="{.}"/>
  </xsl:template>

</xsl:stylesheet>

against that input then the resulting XHTML document is

<html xmlns="http://www.w3.org/1999/xhtml";>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <title>Example</title>
<meta name="description" content="Financial Times, &#34;Erdoğan Grubu'na&#34;" />
   </head>
   <body></body>
</html>

and that output looks fine to me, the content attribute value is delimited by double quotes and therefore any double quote in the value is escaped.



--

        Martin Honnen
        http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--