Announcement

Collapse
No announcement yet.

Variable

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variable

    Hallo,

    ich habe diese xml-Datei die ich sortieren muss. Mein xsl sieht so aus:

    Code:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
      
      <xsl:key name="Fach" match="Ueberschrift" use="UebKommentar"/>
      <xsl:template match="/">
          <xsl:call-template name="script"/>
        <div id="lv-veranstaltungen">
          <xsl:call-template name="navigation"/>
          <xsl:apply-templates select="Tree/Ebene[@ueebene=1]"/>
        </div>
      </xsl:template>
    
    
    <xsl:template name="navigation">
        <div id="lv-navigation" class="clearfix">
          <div id="lv-navOben" class="clearfix">
            <div id="lv-navFach" class="clearfix">
              <ul class="clearfix">
                <xsl:for-each select="Tree/Ebene[@ueebene=1]/Ueberschrift[generate-id(.)=generate-id( key('Fach',UebKommentar)[1])]">
                 <xsl:variable name="tabNummer">
                <xsl:number/>
                </xsl:variable>
                <li><a>
                  <xsl:attribute name="id">Tab_<xsl:value-of select="$tabNummer"/></xsl:attribute>
                  <xsl:value-of select="UebKommentar"/></a></li>
                </xsl:for-each>
              </ul>
            </div>
          </div>
          <div id="lv-navKategorie">
            <xsl:for-each select="Tree/Ebene[@ueebene=1]/Ueberschrift[count(. | key('Fach',UebKommentar)[1])]">
              <xsl:for-each select="key('Fach',UebKommentar)">
                <xsl:variable name="tabKatNummer">
                  <xsl:number/>
                </xsl:variable>
                <span class="lv-tabKategorie">
             <xsl:attribute name="id">TabKat_<xsl:value-of select="$tabKatNummer"/></xsl:attribute>
                <span class="lv-kat">
                    <a>
                      <xsl:attribute name="href">
                        #katAnker_<xsl:value-of select="generate-id(.)"/>
                      </xsl:attribute>
                      <xsl:value-of select="UeBez"/>
                    </a>
                  </span>
                  </span>
               </xsl:for-each>
            </xsl:for-each>
          </div>
          <div id="lv-navKategorie"><span class="lv-tabKategorie" id="TabKat_0"/>
          <xsl:for-each select="Tree/Ebene[@ueebene=1]">
            <xsl:variable name="tabKatNummer">
            <xsl:number/>
            </xsl:variable>
            <span class="lv-tabKategorie">
            <xsl:attribute name="id">TabKat_<xsl:value-of select="$tabKatNummer"/></xsl:attribute>
            <xsl:for-each select="Ebene[@ueebene=2]">
              <span class="lv-kat"><a>
              <xsl:attribute name="href">#katAnker_<xsl:value-of select="generate-id(.)"/></xsl:attribute>
              <xsl:value-of select="Ueberschrift/UeBez"/></a></span>
            </xsl:for-each>
            </span>
          </xsl:for-each>
        </div>
              </div>
      </xsl:template>
    und xml:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    
            <Tree>
             <Ebene ueebene="1">
                <Ueberschrift>
                   <UeBez>Titel1</UeBez>
                   <UebKommentar>B.Sc.</UebKommentar>
                </Ueberschrift>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung1</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung2</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung3</UeBez>
                   </Ueberschrift>
                </Ebene>
             </Ebene>
             <Ebene ueebene="1">
                <Ueberschrift>
                   <UeBez>Titel2</UeBez>
                   <UebKommentar>B.Sc.</UebKommentar>
                </Ueberschrift>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung1</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung3</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung4</UeBez>
                   </Ueberschrift>
                </Ebene>
             </Ebene>
             <Ebene ueebene="1">
                <Ueberschrift>
                   <UeBez>Titel3</UeBez>
                   <UebKommentar>B.Sc.</UebKommentar>
                </Ueberschrift>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung1</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung2</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung3</UeBez>
                   </Ueberschrift>
                </Ebene>
             </Ebene>
             <Ebene ueebene="1">
                <Ueberschrift>
                   <UeBez>Titel4</UeBez>
                   <UebKommentar>B.Sc.-NF</UebKommentar>
                </Ueberschrift>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung1</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung2</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung3</UeBez>
                   </Ueberschrift>
                </Ebene>
             </Ebene>
             <Ebene ueebene="1">
                <Ueberschrift>
                   <UeBez>Titel5</UeBez>
                   <UebKommentar>B.Sc.-NF</UebKommentar>
                </Ueberschrift>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung1</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung2</UeBez>
                   </Ueberschrift>
                </Ebene>
             </Ebene>
             <Ebene ueebene="1">
                <Ueberschrift>
                   <UeBez>Titel6</UeBez>
                   <UebKommentar>M.Sc.</UebKommentar>
                   <ZUebPostnotiz />
                </Ueberschrift>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung1</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung2</UeBez>
                   </Ueberschrift>
                </Ebene>
                <Ebene ueebene="2">
                   <Ueberschrift>
                      <UeBez>Übung3</UeBez>
                   </Ueberschrift>
                </Ebene>
             </Ebene>
    </Tree>

    ich bekomme diese ergebnis:

    <li><a id="Tab_1">B.Sc.</a></li>
    <li><a id="Tab_1">B.Sc.-NF</a></li>
    <li><a id="Tab_1">M.Sc.</a></li>

    und ich brauche:

    <li><a id="Tab_1">B.Sc.</a></li>
    <li><a id="Tab_2">B.Sc.-NF</a></li>
    <li><a id="Tab_3">M.Sc.</a></li>

    und das gleiche auch bei TabKat. kann mir jemand dabei helfen? ich habe keine Ahnung warum mir die variable nicht mitzählt.

    Ich freue mich über jede Hinweis.

    Gruß
    Dana

  • #2
    Hallo,

    ich habe rausgefunden:

    Code:
    <span id="tabNummer_{position()}">
               </span>
    <ul class="clearfix">
                <xsl:for-each select="Tree/Ebene[@ueebene=1]/Ueberschrift[generate-id(.)=generate-id( key('Fach',UebKommentar)[1])]">
                           <li><a>
                  <xsl:attribute name="id">Tab_<xsl:value-of select="position()"/></xsl:attribute>
                  <xsl:value-of select="UebKommentar"/></a></li>
                </xsl:for-each>
              </ul>
    Gruß
    Dana

    Comment

    Working...
    X