droom: Anker in XML

Beitrag lesen

Hallo all!
Ich habe folgende XML Struktur:

<page id="2">
  <text>Ein Link zu einem Field</text>
    <link>3</link>
  <field id="3">
    <text>Text von Field mit id 3</text>
  </field>
  <field id="4">
    <text>Ein Link zu einem Field</text>
    <link>3</link>
  </field>
</page>
<page id="5">
  <text>Ein Link zu einer Seite</text>
    <link>2</link>
</page>

Das heisst sowohl ein <page> als auch ein <field> kann einen <text> mit <link> enthalten. Wenn ich mit XSL nun das <text>-Element bearbeitet, weiss ich nicht, wie ich die Verlinkung machen kann. Irgendwie muss ich merken, ob ich zu einer <page> verlinke oder zu einem <field>. Wenn zu einem Field, dann muss dieselbe seite aufgerufen werden mit der id des Fields als Anker.
Ich habe so angefangen:

xsl:choose
    <xsl:when test="not(child::link)">
        <p><xsl:value-of select="." /></p>
    </xsl:when>
    <xsl:when test="xxxx">
        <p><a>
            <xsl:attribute name="href">index.php?id=xxxxx</xsl:attribute>
            <xsl:value-of select="const" />
        </a></p>
    </xsl:when>
    xsl:otherwise
        <p><a>
            <xsl:attribute name="href">index.php?id=xxxx</xsl:attribute>
            <xsl:value-of select="const" />
        </a></p>
    </xsl:otherwise>
   </xsl:choose>

Ich möchte einmal einen Link zu einer Seite konstruieren mit index.php?id=xx und einmal als Anker, wenn ich zu einem Field verlinke mit index.php?id=xx#xx