<xsl:stylesheet version="1.0"	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="xml" indent="yes" encoding="ISO-8859-1" />  
  
 <xsl:param name="rowSeparator"><xsl:text>
</xsl:text></xsl:param>
 <xsl:param name="colSeparator"><xsl:text>;</xsl:text></xsl:param>
 <xsl:param name="empty"><xsl:text>.</xsl:text></xsl:param>     <xsl:param name="title" />
  
 <xsl:template match="/">     <root>
  	<table>
       <xsl:call-template name="stripRows">
        	<xsl:with-param name="text" select="." />
       </xsl:call-template>
  	</table>
   </root>
 </xsl:template>
   <xsl:template name="stripRows">
  <xsl:param name="text" />
  <xsl:param name="textBefore" select="substring-before($text, $rowSeparator)" />
  <xsl:param name="textAfter" select="substring-after($text, $rowSeparator)" />
  <xsl:param name="count" select="1" />
   <xsl:if test="$textBefore!=''">
    <row>
    <xsl:call-template name="stripCols">
         <xsl:with-param name="text" select="concat($textBefore, $rowSeparator)" />
    	<xsl:with-param name="count" select="$count" />
       </xsl:call-template>
    </row>
  </xsl:if>
  <xsl:if test="$textAfter!=''">
    <xsl:call-template name="stripRows">
      <xsl:with-param name="text" select="$textAfter"/>
     </xsl:call-template>
  </xsl:if>
 </xsl:template>
   <xsl:template name="stripCols">
  <xsl:param name="text" />
  <xsl:param name="textBefore" select="substring-before($text, $colSeparator)" />
  <xsl:param name="textAfter" select="substring-after($text, $colSeparator)" />
  <xsl:param name="count" />
  	<xsl:element name="{concat('col', $count)}">
  	<xsl:choose>
    <xsl:when test="not(contains($text, $colSeparator))">
      <xsl:value-of select="normalize-space($text)" />
    </xsl:when>
    <xsl:otherwise>
    	<xsl:choose>
      <xsl:when test="$textBefore=''">
      	<xsl:value-of select="$empty" />
      </xsl:when>
      <xsl:otherwise>
      	<xsl:value-of select="normalize-space($textBefore)" />
      </xsl:otherwise>
    	</xsl:choose>
    </xsl:otherwise>
  	</xsl:choose>
   </xsl:element>
  <xsl:if test="$textAfter!=''">
    <xsl:call-template name="stripCols">
       <xsl:with-param name="text" select="$textAfter"/>
    <xsl:with-param name="count" select="$count+1" />
     </xsl:call-template>
  </xsl:if>
 </xsl:template>
   </xsl:stylesheet>
   |