Subject: RE: RE: [xsl] Saxon's handling of line breaks From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Tue, 7 May 2002 09:00:32 +0100 |
>From your quoting of my reply, it seems it got distorted by the mail system. I explained that XML parsers turn CRLF into a single NL chaarcter, and the NL character is all that the XSLT processor sees. If you want to avoid the XML parser normalizing the line ending, you must write <xsl:text>& # x a ; & # x d ;</xsl:text> without the spaces. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Salvatore > Mangano > Sent: 06 May 2002 23:13 > To: Michael Kay > Subject: Re: RE: [xsl] Saxon's handling of line breaks > > > If you look at the sample I provide I do indeed output > <xsl:text> > </xsl:text>. Yet the result is as if the CR is stripped. > > Also, I do not mention notepad because it is my prefered > editor. I mention it only as a tool for diagnosing the problem > simply *because* it doesn't do what many other editors > automatically do. > > To make the problem plain as day please consider the following > stylesheet: > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:output method="text"/> > > <xsl:template match="/"> > foo<xsl:text> > </xsl:text>bar > </xsl:template> > > </xsl:stylesheet> > > According to your explanation foo and bar should be seperated > by whatever is enclosed in the xsl:text element. In this case > it should be a CRLF combination because the stylesheet was > created in an editor that writes out CR+LF at the end of line. > However, after processing the stylesheet the CR was indeed > stripped with saxon but not with xalan. Explain? > > > > > Line breaks in the input document and the stylesheet are > automatically > > converted to a single NL character by the XML parser - that's > defined by the > > XML standard. > > > > With the "text" output method, Saxon outputs the characters > that it finds, > > without change. The XSLT specification doesn't give the > processor license to > > do anything else. If you want to output CRLF, you must do it > explicitly, by > > writing <xsl:text> > </xsl:text>. You could make this > > platform-dependent by putting it in an external entity or > supplying it as a > > stylesheet parameter. > > > > I think most modern text editors will understand NL as a > newline character > > even on the Windows platform: perhaps it's time you moved off > Notepad. > > > > Michael Kay > > Software AG > > home: Michael.H.Kay@xxxxxxxxxxxx > > work: Michael.Kay@xxxxxxxxxxxxxx > > > > > -----Original Message----- > > > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of > Sal Mangano > > > Sent: 06 May 2002 15:41 > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > Subject: [xsl] Saxon's handling of line breaks > > > > > > > > > > > > Working with Saxon 6.5.1 on the Windows platform I noticed > that line > > > breaks literally represented as text elements are being > output > > > incorrectly for the Windows platform. > > > > > > For example, > > > > > > <xsl:stylesheet version="1.0" > > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > > > > > <xsl:output method="text" encoding="UTF-8"/> > > > > > > <xsl:strip-space elements="*"/> > > > > > > <xsl:template match="number"> > > > <xsl:value-of select="."/><xsl:text> > > > </xsl:text> > > > </xsl:template> > > > > > > </xsl:stylesheet> > > > > > > When I capture the output produced by this stylesheet in a > > > file and open > > > in the Windows notepad editor it does not display correctly > because > > > notepad expects CR+NL pairs. Now if I open the stylesheet in > > > notepad, it > > > DOES display correctly which leads me to believe that the > > > <text> element > > > is actually enclosing a CR+NL pair. It seems that the > either the > > > stylesheet parser or the output serializer in saxon is > > > stripping the CR. > > > When I use the same stylesheet with xalan it works > correctly. > > > > > > Is this a bug in saxon or a misunderstanding on my part? > > > > > > In general, how are stylesheets supposed to deal with line > breaks in a > > > portable fashion? > > > > > > Thanks, > > > > > > Sal > > > > > > > > > > > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > > > > > > > > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > > > > > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: RE: [xsl] Saxon's handling of l, Michael Kay | Thread | RE: RE: [xsl] Saxon's handling of l, Salvatore Mangano |
RE: [xsl] Identifying two tags that, Michael Kay | Date | RE: RE: [xsl] Saxon's handling of l, Michael Kay |
Month |