xsl-list
[Top] [All Lists]

Re: [xsl] Insert character for missing nodes

2008-10-30 11:30:34
Jesse Gillies wrote:

<business>
  <name>Hot Dog Stand</name>
  <address>123 Main St</address>
  <url>http://www.hotdogstand.com</url>
</business>
<business>
  <name>Joe's Pizza</name>
  <address>213 Pine St</address>
</business>

Because Joe's Pizza is missing the url node, I don't get a pipe, which
throws off my columns. Is there a way to test for all possible nodes,
and where any are missing, to insert a character?

With XSLT 2.0 you could use e.g.

  <xsl:template match="business">
<xsl:value-of select="(name, address, if (url) then url else '')" separator="|"/>
  </xsl:template>

if the url element is the only one that could be missing.

With XSLT 1.0 you might be better off to write one stylesheet that adds empty elements as needed, then run your current stylesheet.

--

        Martin Honnen
        http://JavaScript.FAQTs.com/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>