[GastForen Programmierung/Entwicklung PHP und MySQL XML / XSL

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

XML / XSL

Anonym
Beiträge gesamt: 22827

21. Jul 2004, 15:45
Beitrag # 1 von 9
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
ich hoffe ich könnt mir bei einen kleinen Problem helfen.

Ich gebe mit folgenden code alle Spaltennamen + Werte in einer Liste aus

Code
<xsl:for-each  select="FIELD"> 
<div class="field">
<div class="description"><xsl:value-of select="@name"/>:</div>
<div class="value"><xsl:value-of select="."/></div>
</div>
</xsl:for-each>


Jetzt will ich aber nur die Felder ( also @name ) ausgeben wo ein dazugehöriger Wert existiert ( das ist dann wohl das "." )

Bin über http://www.w3schools.com/xsl/xsl_if.asp und einige andere Beispiele gestolpert aber kein konnte mir so richtig weiterhelfen.

Sowas in der Art von <xsl:if test="'.' <> ''"> brauch ich, nur halt syntaktisch korrekt ;-)

Finde auch keine wirklich brauchbaren Einstiegsinformationen in das Thema ( vieleicht liegts daran das ich durch OOP schon so geprägt bin ?! (-: )

Habt ihr Vorschläge ?

Gruss

Thomas

PS : Werd mir wohl mal ein Buch bestellen, habe hier im Forum schon Buchtips gefunden ( ja es gibt Leute die die Suche benutzen ;-) ) aber ich brauch recht zeitnah eine Lösung.
X

XML / XSL

oesi50
  
Beiträge gesamt: 2315

22. Jul 2004, 14:07
Beitrag # 2 von 9
Beitrag ID: #98801
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
<xsl:if test="'.' != ''">
<xsl:value-of select="." />
</xsl:if>

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#98576]

XML / XSL

thomasoop
Beiträge gesamt: 5

22. Jul 2004, 15:29
Beitrag # 3 von 9
Beitrag ID: #98838
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hab mich mal angemeldet :-)

Danke für den Tip.
Er bringt zwar keine Fehlermeldung aber zeigt trotzdem alle Felder an.
Leerzeichen sind auch nicht in der Spalte drin.

Gibt es sowas wie Trim ?

Könnte auch eine upper bzw lowercase funktion gebrauchen, wenn es sowas gibt.

Gruss

Thomas


als Antwort auf: [#98576]

XML / XSL

thomasoop
Beiträge gesamt: 5

22. Jul 2004, 15:54
Beitrag # 4 von 9
Beitrag ID: #98852
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das hier geht nun

<xsl:for-each select="FIELD">
<xsl:if test="@name != 'ID'">
<xsl:if test=". != ''">
<div class="field">
<div class="description"><xsl:value-of select="@name"/>:</div>
<div class="value"><xsl:value-of select="."/></div>
</div>
</xsl:if>
</xsl:if>
</xsl:for-each>

wie kann ich die 2 if abfragen in einer zusammenfassen ? ( && geht nicht )

edit :
ich glaub ich hasse xsl ;p


als Antwort auf: [#98576]
(Dieser Beitrag wurde von thomasoop am 22. Jul 2004, 16:03 geändert)

XML / XSL

oesi50
  
Beiträge gesamt: 2315

22. Jul 2004, 15:57
Beitrag # 5 von 9
Beitrag ID: #98853
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Er bringt zwar keine Fehlermeldung aber zeigt trotzdem alle Felder an.
> Leerzeichen sind auch nicht in der Spalte drin.

Wie sieht denn Dein Schema aus?

> Gibt es sowas wie Trim?

string=normalize-space(string)

Example:
normalize-space(' The XML ')
Result: 'The XML'

> Könnte auch eine upper bzw lowercase funktion gebrauchen, wenn es sowas gibt.

Sowas gibt's nicht direkt. Das muss man mit CSS formatieren.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#98576]

XML / XSL

thomasoop
Beiträge gesamt: 5

22. Jul 2004, 16:05
Beitrag # 6 von 9
Beitrag ID: #98859
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
oesi er hat nicht angezeigt weil man keine ' um die feldbezeichnung ( hier . bzw @name ) machen darf da es sonst für ihn ein string darstellt den er 1:1 vergleicht


als Antwort auf: [#98576]

XML / XSL

thomasoop
Beiträge gesamt: 5

23. Jul 2004, 11:51
Beitrag # 7 von 9
Beitrag ID: #99033
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
oesi, weisst nicht zufällig wie man mehrere argumente in einer if abfrage mit einander verknüpft ?

&& habe ich mal ausprobiert ( hab ein paar beispiele im inet gefunden ), aber ohne erfolg ....


als Antwort auf: [#98576]

XML / XSL

oesi50
  
Beiträge gesamt: 2315

23. Jul 2004, 12:16
Beitrag # 8 von 9
Beitrag ID: #99041
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Schreib einfach 'and' hin.

<xsl:if test=" 1=1 and 2=2 and 3=3 " >
...
</xsl:if>

Hier steht auch was dazu:

http://www.w3.org/TR/xpath#NT-AndExpr


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#98576]
(Dieser Beitrag wurde von oesi50 am 23. Jul 2004, 12:19 geändert)

XML / XSL

thomasoop
Beiträge gesamt: 5

23. Jul 2004, 12:23
Beitrag # 9 von 9
Beitrag ID: #99043
Bewertung:
(2226 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
danke Oesi, bist mir ne grosse Hilfe


als Antwort auf: [#98576]
X