Subject: Re: [xsl] How to get comments to indent on their own line in XML output? From: David Carlisle <davidc@xxxxxxxxx> Date: Sun, 6 Jul 2008 22:06:37 +0100 |
> <xsl:text>  	</xsl:text> That's a very unsafe way of indenting it will almost always make the resulting document invalid. A0 is no breaking space which may look white but is not "whitespace" as defined by XML so if you indent element content using that the resuklt will have PCDATA where none is allowed. Just use <xsl:text> </xsl:text> to indent by a newline and two spaces (or however many spaces you need) > I guess that I'm really expecting the simple case to work, where > indentation comes out as a function of nested children without having > to add extraneous text nodes. Your intutition is leading you to exect comments to act as elements during indentation but as Michael explained that isn't really a safe assumption, comments can appear in text only element content, and so the system is treating them (more or less) like text nodes as far as indentation is concerned. If you don't like that, possibly the simplest thing to do is instead of using xsl:comment use <myCommentElement>this is a comment<myCommentElement> then it will indent as you wish. then to get it back to being a comment either do a second transform with an identity transform plust one template to switch this back or just use sed -i -e "s/<myCommentElement>/<!--" -e "s/</myCommentElement>/-->" file.xml (or perl or any other language of choice). David PS sorry, in my reply to MDP I accused you of having been the source of a surious <xs:text in an attribute value, it appears it was me, must have accidentally yanked it one line two early:-) ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to get comments to in, alan . painter | Thread | Re: [xsl] How to get comments to in, David Carlisle |
Re: [xsl] How to get comments to in, David Carlisle | Date | Re: [xsl] How to get comments to in, David Carlisle |
Month |