Altova Mailing List Archives


RE: [xsl] Xsl:strip-space and xsl:preserve-space (XSLT 2.0)

From: "Michael Kay" <mike@------------>
To:
Date: 9/24/2008 1:07:00 PM
I believe it's true that the AltovaXML processor always strips whitespace
nodes (or calls the MSXML parser in a way that strips them) and I'm not
aware of any way of changing this.

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: Pankaj Chaturvedi [mailto:pankaj.chaturvedi@xxxxxxxxx] 
> Sent: 24 September 2008 09:52
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] Xsl:strip-space and xsl:preserve-space (XSLT 2.0)
> 
>  
> 
> What XML parser and XSLT processor are you using?
> 
> 
> Just for curiosity Michael, is this related with XSLT 
> processor or there is error in my code.
> 
> Thanks for help.
> 
> Pankaj
> 
> 
> 
> 
> > -----Original Message-----
> > From: Pankaj Chaturvedi [mailto:pankaj.chaturvedi@xxxxxxxxx]
> > Sent: 23 September 2008 23:52
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] Xsl:strip-space and xsl:preserve-space (XSLT 2.0)
> > 
> > 
> > In my stylesheet, I am stripping all the spaces, new line character 
> > while using <xsl:strip-space elements="*"/> which works 
> perfectly as 
> > desired.
> > 
> > But now I've come across the requirement where I need to preserve 
> > spaces between the tags in few specific elements generally the 
> > punctuations(see below example) I tried to use the 
> > <xsl:preserve-space> to sort out this issue but doesn't seems to be 
> > working and "xsl:strip-space" seems to overcoming the effect of 
> > "xsl:preserve-space" effects. Can we use both to get their 
> respective 
> > effects or simply they cannot be used together?
> > 
> > Below is how they looks in my stylesheet:
> > 
> > Snippet
> > =======
> > 
> > <xsl:stylesheet version="2.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> > xmlns:fo="http://www.w3.org/1999/XSL/Format"
> > xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > xmlns:fn="http://www.w3.org/2005/xpath-functions">
> > 
> > <xsl:strip-space elements="*"/>
> > 
> > <xsl:preserve-space elements="element1 element2"/>
> > 
> > <xsl:output encoding="UTF-8" indent="no" media-type="text/xml"
> > method="xml"/>
> > 
> > --------------
> > --------------
> > --------------
> > --------------
> > --------------
> > 
> > </xsl:stylesheet>
> > 
> > 
> > Example:
> > 
> > <element1><surname>Dajnoki</surname>, <givenname>K.</givenname>
> > (<year>2002</year>) <article-title>XXXXX YYYY</article-title>.
> > <journal-title>ZZZZZZ XXXX</journal-title> 
> > <first-page>43</first-page>&ndash;<last-page>46</last-page>.</
> > element1>
> > 
> > Note: Spaces between the tags with any punctuation appears 
> correctly 
> > (like in <surname>Dajnoki</surname>,
> > <givenname>K.</givenname>)  but fails in case of a single space 
> > between tags > < (for instance in </journal-title> <first-page> and 
> > results into the </journal-title><first-page> )
> > 
> > 
> > Below is how I have defined template for "element1"
> > 
> > <xsl:template match="element1">
> >     <xsl:apply-templates/>
> > </xsl:template>
> > 
> > Any suggestion would be an immense help.
> > 
> > 
> > Best,
> > 
> > Pankaj Chaturvedi
> > 
> > ==============================================================
> > ==============
> > ================
> > 
> > 
> > Confidentiality Notice:" This message and any attachment(s) 
> contained 
> > here are information that is confidential, proprietary to 
> IDS Infotech 
> > Ltd. and its customers.
> > Contents may be privileged or otherwise protected by law. The 
> > information is solely intended for the individual or the 
> entity it is 
> > addressed to. If you are not the intended recipient of this 
> message, 
> > you are not authorized to read, forward, print, retain, copy or 
> > disseminate this message or any part of it. If you have 
> received this 
> > e-mail in error, please notify the sender immediately by 
> return e-mail 
> > and delete it from your computer."

Disclaimer

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.