Leerstellen
Peter Thomassen
- xsl
Hallo!
Nachdem ich mich nun auch mal an die Themen XML/XSL(T) herange-
wagt habe, gibt's auch schon das erste Problem:
<h2><xsl:value-of select="@first" /> <xsl:value-of select="@last" /></h2>
Wie erreiche ich, dass im Ergebniscode (erzeugt durch Salbatron)
die Leerstelle zwischen den beiden xsl:value-of-Elementen erhalten
bleibt?
BTW: An Salbatron liegt es wohl nicht, da IE und Mozilla das
gleiche Verhalten zeigen. Da musste ich allerdings erst
das Attribut method von xsl:output von xhtml auf html setzen,
da xhtml angeblich nicht erlaubt sei. Anscheinend können
sie also nur XSLT 1.0. Weiß jemand, wann XSLT 2.0 unterstützt
werden wird?
Danke euch!
Peter
Hallo,
Wie erreiche ich, dass im Ergebniscode (erzeugt durch Salbatron)
die Leerstelle zwischen den beiden xsl:value-of-Elementen erhalten
bleibt?
<h2><xsl:value-of select="@first" />xsl:text </xsl:text><xsl:value-of select="@last" /></h2>
sollte funktionieren.
Schönen Gruß
Rainer
Hallo Rainer,
Wie erreiche ich, dass im Ergebniscode (erzeugt durch Salbatron)
die Leerstelle zwischen den beiden xsl:value-of-Elementen erhalten
bleibt?
<h2><xsl:value-of select="@first" />xsl:text </xsl:text><xsl:value-of select="@last" /></h2>
sollte funktionieren.
Tut es auch. Aber muss das wirklich so umständlich sein?
Ich habe hier noch:
<xsl:for-each select="contact[@type = 'phone']"><p>Telefon: <xsl:value-of select="@prefix" /> / <xsl:value-of select="@suffix" /></p></xsl:for-each>
<xsl:for-each select="contact[@type = 'cellular']"><p>Handy: <xsl:value-of select="@prefix" /> / <xsl:value-of select="@suffix" /></p></xsl:for-each>
<xsl:for-each select="contact[@type = 'mail']"><p>Mail: <xsl:value-of select="@prefix" />@<xsl:value-of select="@suffix" /></p></xsl:for-each>
Da kommt ja auch zweimal der String " / " vor. Und da fallen die
Leerzeichen ja nicht weg - wo ist denn da der Unterschied?
Danke!
Peter
Hallo,
Tut es auch. Aber muss das wirklich so umständlich sein?
ich weiß es auch nicht so genau. Mit xsl:text wird halt die Ausgabe erzwungen,
und alles andere könnte Auslegungssache des Parsers sein.
Irgendetwas in der Richtung "preserve-whitespace" gab es auch noch, glaub ich.
Jetzt muß halt jemand weiterhelfen, der sich damit auskennt...
Schönen Gruß
Rainer
Hallo,
Wie erreiche ich, dass im Ergebniscode (erzeugt durch Salbatron)
die Leerstelle zwischen den beiden xsl:value-of-Elementen erhalten
bleibt?
Du meinst "Sablotron" ?!
das Attribut method von xsl:output von xhtml auf html setzen,
da xhtml angeblich nicht erlaubt sei.
stimmt:
<!-- Category: top-level-element -->
<xsl:output
method = "xml" | "html" | "text" | qname-but-not-ncname
version = nmtoken
encoding = string
omit-xml-declaration = "yes" | "no"
standalone = "yes" | "no"
doctype-public = string
doctype-system = string
cdata-section-elements = qnames
indent = "yes" | "no"
media-type = string />
Du kannst als Output HTML wählen und als doctyp die XHTML DTD angeben.
»»Anscheinend können sie also nur XSLT 1.0.
Wer sind "sie"?
Weiß jemand, wann XSLT 2.0 unterstützt werden wird?
Zur Zeit ist XSLT 1.0 die einzige gültige Version von XSLT.
Saxon hat bereits Teile von XSLT 2.0 WD implementiert.
Grüße
Thomas
Hi Thomas,
danke für deine Antwort!
Wie erreiche ich, dass im Ergebniscode (erzeugt durch Salbatron)
die Leerstelle zwischen den beiden xsl:value-of-Elementen erhalten
bleibt?
Du meinst "Sablotron" ?!
Genau :)
Beschäftige mich etwa seit einem Tag mit dem Thema :)
Du kannst als Output HTML wählen und als doctyp die XHTML DTD angeben.
Habe ich dann nicht das Problem mit <br> und <br /> etc.?
»»Anscheinend können sie also nur XSLT 1.0.
Wer sind "sie"?
IE, Mozilla.
Weiß jemand, wann XSLT 2.0 unterstützt werden wird?
Zur Zeit ist XSLT 1.0 die einzige gültige Version von XSLT.
Saxon hat bereits Teile von XSLT 2.0 WD implementiert.
Genau. Zum Beispiel die Möglichkeit, xhtml generieren zu lassen.
Und ich fänd's schön, wenn IE und Mozilla das auch könnten.
Hast du vielleicht auch eine Lösung für mein Problem?
Danke!
Peter
Hallo Peter,
Du meinst "Sablotron" ?!
Genau :)
Beschäftige mich etwa seit einem Tag mit dem Thema :)
Ich habe beim Sablotron dieses Verhalten noch nicht beobeachtet.
Wenn gar nicht andere geht:
entweder xsl:value-of xsl:value-of oder mit  
Du kannst als Output HTML wählen und als doctyp die XHTML DTD angeben.
Habe ich dann nicht das Problem mit <br> und <br /> etc.?
Müsste man testen.
»»Anscheinend können sie also nur XSLT 1.0.
Wer sind "sie"?
IE, Mozilla.
Aha. Ja, sie können nur XSL 1.0 da diese wie gesagt die zur Zeit einzige Gültige XSLT Version ist.
Zur Zeit ist XSLT 1.0 die einzige gültige Version von XSLT.
Saxon hat bereits Teile von XSLT 2.0 WD implementiert.
Genau. Zum Beispiel die Möglichkeit, xhtml generieren zu lassen.
Und ich fänd's schön, wenn IE und Mozilla das auch könnten.
Das würde dir an sich auch nichts bringen, denn du müsstes xmlt auch als MIME "application/xhtml+xml" ausliefern http://www.w3.org/TR/xhtml1/#media, was kaum ein Browser versteht (IE und Moziall gehören nicht dazu).
Also kannst nur HTML ausliefern. Da kannst du auch HTML erstellen.
Grüße
Thomas