josef stebegg: alphabetische Ausgabe (3)

Beitrag lesen

Das soll eine Seite über die Systematik der Pflanzen werden die für Bienen wichtig sind.

Ich habe das geändert was vielleicht bei Firefox gestört hat. http://stebegg.nit.at/bienenpflanzen.xml

Die wesentliche Struktur (vereinfacht) schaut jetzt jedenfalls so aus:

<klassen>
  <klasse>DREIFURCHENPOLLEN - ZWEIKEIMBLÄTTRIGE
    <unterklasse><name>(noch) ohne Unterklasse</name>
      <ordnung><name>Silberbaumartig</name>
        <fam><name>Platanengewächse</name>
          <gat><name>Platanen</name>
            <art>Die ahornblättrige (gewöhnliche) Platane [Platanus x acerifolia]</art>
          </gat>
        </fam>
      </ordnung>
      <ordnung><name>Buchsbaumartige</name>
        <fam><name>Buchsbaumgewächse</name>
          <gat><name>Buchsbäume</name>.
            <art>Der gewöhnliche Buchsbaum [Buxus sempervirens]</art>
          </gat>
        </fam>
        <fam><name>...</name>
          <gat><name>...</name>.
            <art>...</art>
          </gat>
        </fam>
      </ordnung>
    </unterklasse>
        ...
        usw.
    <unterklasse>
  </klasse>
</klassen>

---

<xsl:template match="klassen">
<xsl:for-each select="klasse"><xsl:sort select="." /><div class="klasse"><xsl:value-of select="child::text()"/>
<xsl:for-each select="unterklasse"><xsl:sort select="." /><div><xsl:value-of select="name"/>
<xsl:for-each select="ordnung"><xsl:sort select="." /><div class="ordnung"><xsl:value-of select="name"/>
<xsl:for-each select="fam"><xsl:sort select="." /><div class="fam"><xsl:value-of select="name"/>
<xsl:for-each select="gat"><xsl:sort select="." /><div><xsl:value-of select="name"/>
<xsl:for-each select="art"><xsl:sort select="." /><div><xsl:value-of select="."/>
</div></xsl:for-each>
</div></xsl:for-each>
</div></xsl:for-each>
</div></xsl:for-each>
</div></xsl:for-each>
</div></xsl:for-each>
</xsl:template>

(die vereinfachte xsl wird nicht genau stimmen, ich habe schon sehr viele Varianten)

Damit es übersichtlicher wird will ich die Ausgabe (mindestens) ein Mal teilen. Ein Mal bis Familien und ein Mal ab Familien.
Im Prinzip habe ich ja alles. Im ersten Fall muß ich in der css Datei die Gattungen und Arten hidden schalten und im zweiten Fall muß ich in einer eigenen xml Datei alle klasse, unterklasse und ordnungen herauslöschen. Und wenn ich nur die Gattungen und Arten ausgeben will auch die Familien (So stimmt jedenfalls die alphabetische Rangordnung und nichts ist doppelt).

Das ist aber nicht sehr elegant. Da immer wieder neue Pflanzen dazu kommen auch arbeitsaufwendig und fehleranfällig.

schöne Grüße
  Josef