Jens Nonnewitz: Generate IDs nach SNMP-MIB Prinzip

Beitrag lesen

Hi Thomas

Mein Ansatz war eine abgewandelte Identitäts-Transformation. Wenn noch HTML im Spiel ist, wäre es hier vielleicht einfacher, das erhaltene Ergebnis weiter zu verarbeiten (nochmal zu transformieren). Ansonsten über die count()-Funktion und Vorgänger-/Nachfahren-Hierarchien probieren, überblicke ich aber beim Gezeigten nicht.

Hab leider noch nicht so viel Erfahrung mit XSLT. Das erste klingt für mich aber logischer -> nochmals zu transformieren.

Die komplette Tabelle wird in diesem Template erstellt:

  
<xsl:template match="table">  
    <table border="1" frame="border" rules="all">  
  
      <xsl:apply-templates select="./tthead"/>  
      <xsl:apply-templates select="./ttbody"/>  
  
    </table>  
  </xsl:template>  

liege ich in der Annahme richtig, dass ich in dem Template überprüfen muss ob der name == table ist und dann muss das template match="table" aufgerufen werden?

  
<xsl:template match="//*">  
    <xsl:element name="{name()}">  
      <!-- id hinzufügen -->  
      <xsl:attribute name="id">  
        <xsl:number count="//*" format="1" level="multiple"/>  
      </xsl:attribute>  
      <xsl:apply-templates select="@* | node()"/>  
     <xsl:if test = 'table'>  
        <xsl:apply-templates select="table"/>  
      </xsl:if>  
    </xsl:element>  
  </xsl:template>  

Oder liege ich mit dieser Annahme noch meilenweit vom richtigen Ergebnis weg.