Convert non-xml file : non xml « XSLT stylesheet « XML






Convert non-xml file


File: Data.ini

name = A
server = B
role = C
initial screen = D

File: Transform.xslt
<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xsl:param name="sourceUri" as="xs:string" />

  <xsl:template name="main">
    <xsl:variable name="iniFile" select="unparsed-text($sourceUri)" />
    <config>
      <xsl:analyze-string select="$iniFile" regex="\n">
        <xsl:non-matching-substring>
          <item>
            <xsl:for-each select="tokenize(., '\s*=\s*')">
              <xsl:choose>
                <xsl:when test="position() = 1">
                  <xsl:attribute name="name">
                                        <xsl:value-of select="." />
                                    </xsl:attribute>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:value-of select="." />
                </xsl:otherwise>
              </xsl:choose>
            </xsl:for-each>
          </item>
        </xsl:non-matching-substring>
      </xsl:analyze-string>
    </config>
  </xsl:template>
</xsl:stylesheet>

 








Related examples in the same category