Subject: [xsl] normalize-space problems with child elements From: "Jelks Cabaniss" <jelks@xxxxxxxx> Date: Tue, 29 Mar 2005 12:39:03 -0500 |
I'm using the text output method to create a man page. In my source XML, I have `<description>` elements which contain text and `<code>` child elements. `<description>` is "pretty printed" (indented and with line breaks) which is easily fixed with "normalize-space". So far so good. But that does weird stuff to the `<code>` child elements -- it removes the space before and after the `<code>foo</code>` so that the word "foo" adjoins the surrounding text in the description output. Example: <description>This decribes how <code>FOO</code> is supposed to work. Now "<code>bar</code>" is a different story altogether.</description> ... <xsl:template match="description"> <xsl:apply-templates /> </xsl:template> <xsl:template match="code"> <xsl:apply-templates /> </xsl:template> <xsl:template match="text()"> <xsl:value-of select="normalize-space(.)" /> </xsl:template> Output: This decribes howFOOis supposed to work. Now "bar" is a different story altogether. Since "bar" was surrounded by quotes and not whitespace, it worked. But see how "FOO" was mangled by "normalize-space"? If I change the `code` template to add spaces before and after, it fixes "FOO", but breaks "bar": <xsl:template match="code"> <xls:text> </xls:text> <xsl:apply-templates /> <xls:text> </xls:text> </xsl:template> Is there a way to do this without involving a complex template with substring processing, etc.? /Jelks
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] New Developer Survey Show, Dimitre Novatchev | Thread | Re: [xsl] normalize-space problems , G. Ken Holman |
Re: [xsl] Tricky inclusion match, Karl Stubsjoen | Date | Re: [xsl] Tricky inclusion match, Karl Stubsjoen |
Month |