- #1
D
DamonWilder
Mitglied
Themenersteller
- Dabei seit
- 20.07.2005
- Beiträge
- 10
- Reaktionspunkte
- 0
Ich möchte eine XML-Datei mittels XSLT ins Internet stellen. Innerhalb des Textes tauchen Namen auf, die in einer externen php-Datei gespeichert werden. Die Namen in der XML-Datei sollen mit den Namen in der externen php-Datei verlinkt werden. In meiner XML-Datei sieht das folgendermaßen aus:
Da der wirkliche Name nicht zwangsläufig mit dem Namen zwischen dem name-Tag identisch ist, habe ich mittels n-Attribut einen eindeutigen Identifier hinzugefügt.
Auf der html-Seite soll natürlich der Name zwischen dem name-Tag verlinkt sein. Meine entsprechende XSLT-Datei sieht in Auszügen so aus:
Der Text besteht aus mehreren <p>-Elementen hintereinander. Wenn ich die XML-Datei im Browser aufrufe, dann wird der Name innerhalb des Textes ganz normal (d.h. nicht kursiv und nicht verlinkt) dargestellt und am Ende des jeweiligen Absatzes (d.i. <p>) erscheint nun nochmals der Name mit Verlinkung.
Was mache ich falsch?
* Conny: Code-Tags eingefügt *
Code:
<p>
Die blendende Antithese des <name n =Simonides> griechischen Voltaire</name>,
daß die Mahlerey eine stumme Poesie, und die Poesie eine redende Mahlerey sey, stand wohl in keinem Lehrbuche. Es war ein Einfall, wie <name n = Simonides>Simonides</name> mehrere hatte; dessen wahrer Theil so einleuchtend ist, daß man das Unbestimmte und Falsche, welches er mit sich führet, übersehen zu müssen glaubet.</p>
Auf der html-Seite soll natürlich der Name zwischen dem name-Tag verlinkt sein. Meine entsprechende XSLT-Datei sieht in Auszügen so aus:
Code:
<!-- Vorlage für Element p -->
<xsl:template match=p>
<xsl:value-of select=./>
<xsl:apply-templates select=name/>
<br />
</xsl:template>
<!-- Vorlage für Element name und Weitergabe des Namen an eine php-Datei,
zur Weiterverarbeitung in einer Datenbank -->
<xsl:template match=name>
<i>
<a href=../php/personenregister.php?name={@n}>
<xsl:value-of select=./>
</a>
</i>
</xsl:template>
Was mache ich falsch?
* Conny: Code-Tags eingefügt *