Wiki Markup

1. XHTML to wiki markup

1.

XHTML to wiki markup

Joris Gillis

I am wishing to take XHTML to Wiki format. The Wiki format is relatively straight forward with no major complications. I have written most of the XSLT file but I am having problems (fun?) with working with embedded lists.

<ul>
   <li>Element1</li>
   <li>Element2
     <ul>
        <li>Element2.1
          <ul>
            <li>Element2.1.1</li>
          </ul>
        </li>
     </ul>
   </li>
   <li>Element 3</li>
</ul>

Should be converted to:

- Element1
- Element2
-- Element2.1
--- Element2.1.1
- Element3

I'm always happy to help spreading the Wiki thought:)

Just in case you should prefer 1 stage transformations, here's another solution:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0">
<xsl:output method="text"/>

<xsl:template match="li">
	<xsl:text>&#10;</xsl:text>
	<xsl:for-each select="ancestor::ul">-</xsl:for-each>
	<xsl:text> </xsl:text>
	<xsl:apply-templates/>
</xsl:template>


<xsl:template match="text()">
	<xsl:value-of select="normalize-space(.)"/>
</xsl:template>


</xsl:stylesheet>