[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: MSXML / NBSP problem and resolution

Subject: Re: MSXML / NBSP problem and resolution
From: Mike Brown <mike@xxxxxxxx>
Date: Thu, 7 Nov 2002 21:37:20 -0700 (MST)
msxml indent
Greg Faron wrote:
>    Just to chime in, I've had issues with this using XML Spy 4.4 to convert 
> files (via MSXML 4).  First, any occurrence of &#160; in the XSL Stylesheet 
> gets replaced with just a space character during processing, so a 
> stylesheet line of
> <td>&#160;</td>
> creates the output
> <td> </td>

I am pretty certain that XML Spy actually creates <td>?</td>. The encoded
no-break space character is in between the tags. In this email I used byte
0xA0 because that's how you represent no-break space directly in iso-8859-1.
Of course the two different kinds of spaces are indistinguishable visually.

If I were making an effort to stick to us-ascii in this email, there's no byte 
for no-break space, so I'd have to resort to using a character reference or 
entity reference.

> This poses an issue within XML Spy since the auto-indent editing feature 
> will truncate the latter to <td/>

IIRC, in some function somewhere in Windows, U+00A0 is considered to be
whitespace. XML Spy's indenter probably relies on such a function where it
shouldn't. So this is probably where the bug is in XML Spy.

>    BTW, it's also a shame that MSXML ignores the "indent" attribute of 
> xsl:output, but that's something else altogether.

Huh? Given this as test.xsl:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" indent="no" encoding="iso-8859-1"/>
  <xsl:template match="/">
    <html>
      <head>
        <title>test</title>
      </head>
      <body>
        <h1>test</h1>
        <table>
          <tr>
            <td>hello world</td>
            <td>goodbye cruel world</td>
          </tr>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

And invoking MSXML via msxsl.exe:

C:\dev>msxsl \temp\test.xsl \temp\test.xsl
<html><head>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>test</title></head><body><h1>test</h1><table><tr><td>hello 
world</td><td>goodbye cruel world</td></tr></table></body></html>

...and after changing indent to "yes":

C:\dev>msxsl \temp\test.xsl \temp\test.xsl
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>test</title>
</head>
<body>
<h1>test</h1>
<table>
<tr>
<td>hello world</td>
<td>goodbye cruel world</td>
</tr>
</table>
</body>
</html>

It looks like it is honoring the attribute to me. Perhaps you were expecting a
greater degree of indenting?

   - Mike
____________________________________________________________________________
  mike j. brown                   |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  resume: http://skew.org/~mike/resume/

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.