Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Probelme mit XSL Datei (https://www.delphipraxis.net/118959-probelme-mit-xsl-datei.html)

LordPsychoter 18. Aug 2008 16:21


Probelme mit XSL Datei
 
Hallo,

ich habe ein programm welches eine XML Datei lädt und mir in einer TWEbbrowser komponente anzeigt.
Das Funktioniert alles auch ganz gut.

Nun wollte ich gerne eine XSL Datei dazu erstellen damit es auch formschön zum ausdrucken angezeigt wird.

Diese XSL Datei habe ich nun soweit fertig das ich die Werte aus der XML Datei lesen kann(aus den einzelnen Attributen.

Nur hängt der mir die Werte alle einfach hintereinander ohne formatierung (ohne leerzeichen etc.)

Wenn ich nun versuche ein Layout da reinzubekommen funktioniert es nicht.

Zitat:

<xsl:template match="Wir/sind/ebenen/">

<xsl:value-of select="schalalala"/>

<xsl:text>Ich bin ein text</xsl:text>
<xsl:value-of select="dumdiedum"/>
<xsl:value-of select="Ich bin ein Wert"/>
</xsl:template>
Er setzt weder den Break noch setzt er den Text dort ein
so in etwa sieht die XSL Datei aus der Kopf wie folgt:

Zitat:

<xsl:stylesheet version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
die Datei binde ich so

Zitat:

<?xml-stylesheet href="Layout.xsl" type="text/xsl"?>
in die XML Datei ein.

Kann mir jemand weiterhelfen warum die XML datei den Stylesheet nicht annimmt?
Aber auch keinen Fehler anzeigt.

Lg
LordPsychoter

LordPsychoter 19. Aug 2008 12:47

Re: Probelme mit XSL Datei
 
*mal ein wenig hoch pusht*

marabu 19. Aug 2008 14:39

Re: Probelme mit XSL Datei
 
Hallo,

Zitat:

Zitat von LordPsychoter
*mal ein wenig hoch pusht*

Pushen nennt man das in der DP erst nach 24 Stunden. Vorher ist das einfach nur Psychoterror. (pun intended)

Zitat:

Zitat von LordPsychoter
... Er setzt weder den Break noch setzt er den Text dort ein ...

Ich weiß zwar nicht genau, was du damit ausdrücken willst, aber wahrscheinlich hast du ein Verständnisproblem beim Umgang mit white space. Zeilenumbrüche solltest du vielleicht besser in deinen Text-Knoten unterbringen:

Code:
<xsl:text>Ich bin ein Fließ</xsl:text>
<xsl:text>text</xsl:text>
<xsl:text>
Wer hat die leere Zeile verbrochen?
</xsl:text>
<xsl:text>
Na gut, noch ein paar Leerzeilen


</xsl:text>
<xsl:text>Jetzt ist aber genug</xsl:text>
Probiere mal ein wenig - und lese dir mal die Dokumentation zum Thema white space handling mit MSXML durch.

Grüße vom marabu

LordPsychoter 19. Aug 2008 14:46

Re: Probelme mit XSL Datei
 
Sry wusste nicht das ich es erst noch 24 std "pushen" darf.

Aber ich weiß nicht was genau mir deine
<xsl:text>
bringen sollen.
Also bei mir habe ich da weder fließtext noch was anderes ;)

lg
LordPsychoter

marabu 19. Aug 2008 14:53

Re: Probelme mit XSL Datei
 
Dich zu rügen steht mir nicht zu - ich konnte nur der Versuchung mit dem Wortspiel nicht widerstehen.

Mit dem Markup wollte ich dich für die white space Behandlung innerhalb von Text-Knoten sensibilisieren.
Du hattest Break geschrieben, aber Bold-Tags verwendet. Ich nahm an, du meintest Line Break.

LordPsychoter 19. Aug 2008 15:17

Re: Probelme mit XSL Datei
 
Ja meinte ich auch.
Aber bei mir steht da nichts besonderes in dem quote.

Nur ein haufen
<xsl:text> Tags in dennen irgendwelche Texte eingetragen sind.
Die aber weder gebrochen noch irgendwas anderes sind (und die Tags wie man die evtl brechen könnte sehe ich auch nicht).

lg
LordPsychoter

marabu 19. Aug 2008 15:20

Re: Probelme mit XSL Datei
 
Kannst du mal ein Mini-Beispiel aus XML und XSLT zippen und anhängen - und genau beschreiben, wie dein Output aussehen soll?
Wir kommen dann schneller zum Ergebnis.

LordPsychoter 19. Aug 2008 16:00

Re: Probelme mit XSL Datei
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

habe mal ein 2 kleine Beispiel Dateien erstellt.

Danke schonmal im vorraus.

lg
LordPsychoter

marabu 19. Aug 2008 16:36

Re: Probelme mit XSL Datei
 
Hier ein Muster zum verfeinern:

XML-Code:
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

  <xsl:output method="text" encoding="iso-8859-1"/>
   
  <xsl:template match="Hauptknoten/*">
    <xsl:value-of select="name()"/>
    <xsl:text>
    </xsl:text>
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="*[starts-with(name(), 'Wert')]">
    <xsl:value-of select="concat(name(), ' : ')"/>
    <xsl:value-of select="."/>
  </xsl:template>

</xsl:stylesheet>
EDIT: Gerade fällt mir auf, dass ich mit MSXSL teste und du wahrscheinlich mit dem WebBrowser. Da werde ich noch eine Änderung machen müssen ...

XML-Code:
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

   <xsl:output method="html" encoding="iso-8859-1"/>
   
  <xsl:template match="Hauptknoten/*">
      <div><xsl:value-of select="name()"/></div>
      


      <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="*[starts-with(name(), 'Wert')]">
    <div>
         <xsl:value-of select="concat(name(), ' : ')"/>
         <xsl:value-of select="."/>
      </div>
  </xsl:template>

</xsl:stylesheet>

LordPsychoter 21. Aug 2008 09:38

Re: Probelme mit XSL Datei
 
Danke dir.

Nun läuft alles. :D (zumindest sollte es.. ist aber eine andere Geschichte..)

lg
LordPsychoter


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz