This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: regarding newline


Hi,

> <!DOCTYPE xsl:stylesheet SYSTEM 
> "D:\xsl-exp\characterEntities\entityref.dtd">
> the following is the contents of this file
> 
> <!ENTITY space "&#160;"> <!-- space -->
> <!ENTITY quots "&#34;"> <!-- double quotes-->
> <!ENTITY newline  "&#xa;"> <!--new line--> etc.....

[snip]

> I now want to use the newline character.
> so instead of using the <xsl:text>&#xa;</xsl:text>
> i declare the entity in the dtd..
> 
> <!ENTITY newline  "&#xa;"> <!--new line-->
> 
> and try to do things like 
> <xsl:value-of select = "@id"/> &newline;<xsl:value-of select = "."/>
> nothin seems to happen..

That's because when the XML parser replaces the entity reference, you get

  <xsl:value-of select = "@id"/> &#xa;<xsl:value-of select = "."/>

and when the XSLT processor first strips the white space from the stylesheet, this is turned into

  <xsl:value-of select = "@id"/><xsl:value-of select = "."/>

It works with &space; because NO-BREAK SPACE is not considered white space.

> Any ideas regarding what i should do ??

You could use

  <!ENTITY newline  "<xsl:text>&#xa;</xsl:text>">

but make sure not to use it inside xsl:text, i.e.

  <xsl:value-of select = "@id"/><xsl:text>&newline;</xsl:text><xsl:value-of select = "."/>

Santtu

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]