Announcement

Collapse
No announcement yet.

Frage zu generate-id

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

  • Frage zu generate-id

    Ich hätte eine Frage zu generate-id:

    Ist es möglich damit eine "normale" ID (1 - 9 oder a - z) zu generieren, ohne auf xsl:number zurückzugreifen?

    Im Moment sehen die ID´s bei mir so aus: "d1e100".

    Leider ist in der Literatur dieses konkrete Problem nicht zu finden .



    Ein anderes Problem ist folgendes:

    Die Autoren eines Buches werden im xml mithilfe einer autorenzeile erfasst, die zudem gibt es eine Trennung von Vor und Nachname. Nun sollen jeweils die zugehörigen Vor- und Nachnamen der Autoren sotiert werden.

    <autorenzeile>
    <autorenvorname>xxx</autorenvorname> , <autorennachname>xxx</autorennachname>;
    <autorenvorname>xxx</autorenvorname>,
    <autorennachname>xxx</autorennachname>
    </autorenzeile>

    Nun wäre es möglich über: autorenvorname[1], autorennachname [1]
    einen Autoren auszugeben. Da es aber beliebig viele Autoren geben kann, wollte ich fragen ob es eine Möglichkeit gibt die zusammengehörigen Vor- und Nachnamen anzusprechen?

    (Die Alternative ist die Autoren nochmals mit einem Autorentag zu umgeben - aber das wollte ich eigentlich vermeiden, wenn es denn geht).


    Vielen Dank schonmal für die Hilfe

    Gruß Eichhörnchen

  • #2
    generate-id() erzeugt eindeutige IDs nach den XML-Namensregeln ohne weitere Eingriffsmöglichkeiten. Häufig werden solche IDs nur temporär für Vergleichsoperationen im Rahmen von Gruppierungen verwendet.

    Zum anderen Problem: Verwende die Abfrage autorenvorname und autorenvorname/following-sibling::autorennachname.

    Code-Ansatz:
    Code:
    <xsl:template match="autorenzeile">
      <xsl:apply-templates select="autorenvorname"/>
    </xsl:template>
      
    <xsl:template match="autorenvorname">
      <p><xsl:value-of select="concat(.,' ',following-sibling::autorennachname)"/></p>
    </xsl:template>
    Ergebnis: <p>xxx xxx</p><p>xxx xxx</p>
    Zuletzt editiert von Thomas Meinike; 23.07.2008, 12:23.

    Comment

    Working...
    X