Hi all
Forgive my noobiness, but I did check Dave Pawson's FAQs.
I have this XML:
<text:p text:style-name="Normal"/>
<text:p text:style-name="Preformatted Text"># ps -ef | grep syslog</text:p>
<text:p text:style-name="Preformatted Text"> root 194 1 0 Apr 02 ?
53:44 /usr/sbin/syslogd</text:p>
<text:p text:style-name="Preformatted Text"></text:p>
<text:p text:style-name="Normal"/>
<text:p text:style-name="Preformatted Text"># netstat -an | grep 514</text:p>
<text:p text:style-name="Preformatted Text"> *.514
Idle</text:p>
<text:p text:style-name="Preformatted Text"> *.514 *.*
0 0 24576 0 LISTEN</text:p>
<text:p text:style-name="Normal"/>
and I want it to look like this:
<verbose>
# ps -ef | grep syslog
root 194 1 0 Apr 02 ? 53:44 /usr/sbin/syslogd
</verbose>
<verbose>
# netstat -an | grep 514</text:p>
*.514 Idle
*.514 *.* 0 0 24576 0 LISTEN
</verbose>
Here's what I've got so far:
<!-- Text blocks -->
<xsl:template match="//text:p">
<xsl:variable name="cur-style-name">
<xsl:value-of select="@text:style-name"/>
</xsl:variable>
<xsl:variable name="text" select="."/>
<xsl:if test="$text!=''">
<!-- these are all newline rules -->
<xsl:choose>
<!-- for elements inside a Preformatted Text block -->
<xsl:when test="$cur-style-name='Preformatted Text' and
following-sibling::text:p">
<!-- Group 'Preformatted Text' into a verbose block -->
<verbose>
<xsl:for-each select="text:p">
<xsl:apply-templates/>
<xsl:text disable-output-escaping="yes">
</xsl:text>
</xsl:for-each>
</verbose>
</xsl:when>
<xsl:otherwise>
<xsl:text disable-output-escaping="yes">
</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
and this produces:
# ps -ef | grep syslog<verbose></verbose> root 194 1 0 Apr 02 ?
53:44 /usr/sbin/syslogd<verbose></verbose>
# netstat -an | grep 514<verbose></verbose> *.514
Idle<verbose></verbose> *.514 *.* 0
0 24576 0 LISTEN<verbose></verbose>
All help appreciated. TIA.
Wade.
--~------------------------------------------------------------------
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>
--~--