Frank Spangenberg: Variable und String mit "xsl:if" vergleichen

Beitrag lesen

Hallo Thomas,

vielen Danke für die Mühe!

Hier die endgültige Version:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" exclude-result-prefixes="text">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  <xsl:template match="/">
   <root>
   <document>
     <xsl:for-each select="//text:h | //text:p">
      xsl:choose
       <xsl:when test="@text:style-name='h1'">
       <h1>
        <xsl:value-of select="."/>
       </h1>
      </xsl:when>
      <xsl:when test="@text:style-name='h2'">
          <xsl:if test="preceding-sibling::node()[1]/@text:style-name != 'h1'">
        <h1>
         <xsl:value-of select="preceding-sibling::node()[@text:style-name = 'h1'][1]"/>
        </h1>
       </xsl:if>
       <h2>
        <xsl:value-of select="."/>
         </h2>
      </xsl:when>
      <xsl:when test="@text:style-name='h3'">
         <h3>
       <xsl:value-of select="."/>
         </h3>
      </xsl:when>
      <xsl:when test="@text:style-name='p'">
         <p>
       <xsl:value-of select="." />
         </p>
      </xsl:when>
      </xsl:choose>
    </xsl:for-each>
   </document>
  </root>
  </xsl:template>
</xsl:stylesheet>

--
Mit freundlichem Gruß
Frank Spangenberg