Schlaumeier: Suche XPATH-Ausdruck

Hi Leute,
wie kann ich das Problem lösen?
So isses:

<section role="intro">  
  <title></title>  
  <section>  
    <title></title>  
    <section>  
      <title></title>  
      <section>  
        <title></title>  
        <section>  
          <title></title>  
          <section>  
            <title></title>  
            <section>  
              <title></title>  
              <section>  
                <title></title>  
                <section>  
                  <title></title>  
                  <section>  
                    <title>  
                    </title>  
                  </section>  
                </section>  
              </section>  
            </section>  
          </section>  
        </section>  
      </section>  
    </section>  
  </section>  
</section>

So soll es werden:

<section role="intro">  
  <title></title>  
  <section>  
    <title>1</title>  
    <section>  
      <title>2</title>  
      <section>  
        <title>3</title>  
        <section>  
          <title>4</title>  
          <section>  
            <title>5</title>  
            <section>  
              <title>6</title>  
              <section>  
                <title>7</title>  
                <section>  
                  <title>8</title>  
                  <section>  
                    <title>9</title>  
                  </section>  
                </section>  
              </section>  
            </section>  
          </section>  
        </section>  
      </section>  
    </section>  
  </section>  
</section>  
  
Ich möchte die Zahlen per XPATH ermitteln, nicht per Counter und call-template etc.  
  
Grüße  
  

  1. Ok,
    Ich verstehe überhaupt nicht was du willst....

    Was du sagen willst ist wohl das er für 1 Titel ne 1 einfügen willst und beim 2 titel ne 2 usw.

    Dann würde ich einfach position() benutzen

    1. Ok,
      Ich verstehe überhaupt nicht was du willst....

      Was du sagen willst ist wohl das er für 1 Titel ne 1 einfügen willst und beim 2 titel ne 2 usw.

      Richtig

      Dann würde ich einfach position() benutzen

      position() gibt (richtigerweise) immer 1 zurück...

  2. Hallo Schlaumeier,

    Ich möchte die Zahlen per XPATH ermitteln, nicht per Counter und call-template etc.

    Ansatz [count() ist eine XPath-Funktion]:

    <?xml version="1.0" encoding="UTF-8"?>  
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
      <xsl:output method="xml" version="1.0" encoding="UTF-8"/>  
      
      <xsl:template match="@* | node()">  
        <xsl:copy>  
          <xsl:apply-templates select="@* | node()"/>  
        </xsl:copy>  
      </xsl:template>  
      
      <xsl:template match="section[not(@role)]/title">  
        <title><xsl:value-of select="count(preceding::title)"/></title>  
      </xsl:template>  
      
    </xsl:stylesheet>
    

    Grüße,
    Thomas