Tags sollen erhalten bleiben bzw andere übersprungen werden?
Mathias
- xsl
Hallo,
folgendes Beispiel:
<xml>
<text><p>text </p><img>xyz </img><p style="color:#555">weiterer text </p></text>
...
<xml>
Hole ich mir nun den Inhalt von <text> mittels <xsl:value-of select="text" /> bekomme ich folgendes zurück:
text xyz weiterertext
Wie kann ich es anstellen, dass ich auch die Tags mitbekomme, also als Resultat folgendes erhalte:
<p>text </p><img>xyz </img><p style="color:#555">weiterer text </p>
Gibts es auch eine Möglichkeit gewisse Elemente auszuschneiden, die man nicht benötigt? In meinem Beispiel ist für mich das Bild uninteressant, so dass ich (nach Frage 1) nur folgendes Ergebnis möchte:
<p>text </p><p style="color:#555">weiterer text </p>
Das <img>-Tag ist auch nicht immer an der gleichen Stelle und kann auch beliebig oft im Text vorkommen.
Mathias.
Tach Mathias,
Wie kann ich es anstellen, dass ich auch die Tags mitbekomme, also als Resultat folgendes erhalte:
<p>text </p><img>xyz </img><p style="color:#555">weiterer text </p>
<xsl:copy-of select="text"/>
Gibts es auch eine Möglichkeit gewisse Elemente auszuschneiden, die man nicht benötigt? In meinem Beispiel ist für mich das Bild uninteressant, so dass ich (nach Frage 1) nur folgendes Ergebnis möchte:
<p>text </p><p style="color:#555">weiterer text </p>
Das <img>-Tag ist auch nicht immer an der gleichen Stelle und kann auch beliebig oft im Text vorkommen.
<xsl:copy-of select="text/*[name(.)!='img']"/>
Man liest sich,
svg4you
Vielen Dank,
Mathias.
Hi,
das image-tag überlesen mit <xsl:copy-of select="OutlineAddText/*[name(.)!='image']" /> funktioniert bei mir nur, wenn das image-tag kenie Attribute mehr enthält, was aber leider der Fall ist.
Gibt es trotzdem eine Möglichkeit Tags - auch wenn sie Attribute haben - zu überspringen?
Grüße,
Mathias
Tach Mathias,
Gibt es trotzdem eine Möglichkeit Tags - auch wenn sie Attribute haben - zu überspringen?
Kann ich zumindest bezogen auf das vorherige Testbeispiel nicht nachvollziehen. Das neue Beispiel hat offenbar wieder einen anderen Kontext.
Man liest sich,
svg4you
Hallo svg4you,
ja, dumm gelaufen: bin nun auf einige Fälle gestoße, bei denen die ganzen Texte noch weiter verschachtelt sind:
<text><p>text </p><img width="10px">xyz </img><p style="color:#555">weiterer text </p></text>
</alt>
<text><p>text </p><DIV><img width="10px">xyz </img></DIV><p style="color:#555">weiterer text </p></text>
</alt>
Und da zieht die Logik leider nicht mehr. Deppremierenderweise kann dies (rein theoretisch) unendlich tief verschachtelt sein.
Da die Verschachtlung auch mit beliebigen Tags p, div, table, .... sein kann, werde ich es wohl knicken können...
vielen Dank.
Mathias
Hallo,
<xsl:template match="alt">
xsl:copy
xsl:apply-templates/
</xsl:copy>
</xsl:template>
<xsl:template match="img">
</xsl:template>
Sollte das sein, was du willst.