alecs: ich kann keine xml einträge darstellen lassen ..

Hallo Leute,

bin ziemlich neu was das Thema xml/xsl angeht, habe es aber (auch durch diverse Einträge hier im forum) geschafft, xml dateien durch xsl formatierungen so hinzubekommen dass ich sie (endlich) auch anzeigen lassen kann.

Einmal durchgeblickt ist es ja echt nimmer ganz so schwer.

Allerdings stoße ich jetzt auf ein recht komisches Phänomen.

Ich habe mir eine (test) produktliste (xml) von Ebay besorgt
---start---
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="test.css" ?>

<FinditemsResponse xmlns="urn:ebay:apis:eBLBaseComponents">
   <Timestamp>2008-08-18T19:55:09.153Z</Timestamp>
   <Ack>Success</Ack>
   <Build>e577_core_Bundled_7016272_R1</Build>
   <Version>577</Version>
   <item>

<itemID>330260465899</itemID>
    <EndTime>2008-08-18T20:09:35.000Z</EndTime>
    <ViewitemURLForNaturalSearch>http://cgi.ebay.de/Harry-Potter-und-der-Orden-des-Phoenix-106-Sticker-TOP_W0QQitemZ330260465899QQcategoryZ141756QQcmdZViewitem</ViewitemURLForNaturalSearch>
    <ListingType>FixedPriceitem</ListingType>
    <PrimaryCategoryID>141756</PrimaryCategoryID>
    <PrimaryCategoryName>Sammeln &amp; Seltenes:Sammelbilder:Ab 1945:Panini-Sammelbilder:Sonstige</PrimaryCategoryName>

<ConvertedCurrentPrice currencyID="EUR">14.99</ConvertedCurrentPrice>
    <ListingStatus>Active</ListingStatus>
    <TimeLeft>PT14M26S</TimeLeft>
    <title>Harry Potter und der Orden des Phönix - 106 Sticker TOP</title>
    <ShippingCostSummary>
     <ShippingType>NotSpecified</ShippingType>

</ShippingCostSummary>
   </item>
    ---end---

Und versucht diese nun auch mit xsl zu bearbeiten (das ganze hatte mit einem anderen (xml) Feed vorher schon ganz gut geklappt.

Komischerweise kann ich durch z.b. ...

<xsl:value-of select="FindItemsResponse/Item/Title"/>

...keinen Eintrag in meiner Voransicht (im dreamweaver) anzeigen lassen, es erscheint nur eine leere seite.

Schreibe ich jedoch

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

werden mir die Daten alle (wenn auch unformatiert) angezeigt.

Ich habe schon alles Möglich versucht, aber ich bekomme einfach keine Anzeige der Daten ...

Vielleicht kann mir jemand einen Tip/Link geben der mir weiter hilft ?

Danke im voraus
Gruß
Alecs

  1. Hello,

    <item>
    <xsl:value-of select="FindItemsResponse/Item/Title"/>

    vielleicht fällt dir der Unterschied so etwas besser auf?

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
  2. Hallo alecs,

    Vielleicht kann mir jemand einen Tip/Link geben der mir weiter hilft ?

    das Problem mit der Schreibweise der Elementnamen wurde bereits genannt. Allerdings führt

    <xsl:value-of select="FinditemsResponse/item/title"/>

    dennoch zu keiner Ausgabe, da die Elemente im Default-Namensraum "urn:ebay:apis:eBLBaseComponents" liegen. Dieser wird ebenfalls im Stylesheet angegeben und die betroffenen Elemente werden über ein beliebiges Prefix (im Folgenden "ebay:") angesprochen:

    <?xml version="1.0" encoding="UTF-8"?>  
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
      xmlns:ebay="urn:ebay:apis:eBLBaseComponents">  
      
      <xsl:output method="text" encoding="UTF-8"/>  
      
      <xsl:template match="/">  
        <xsl:value-of select="ebay:FinditemsResponse/ebay:item/ebay:title"/>  
      </xsl:template>  
      
    </xsl:stylesheet>
    

    Unter XSLT 2.0 kann man sich das ersparen und die erstgenannte Schreibweise verwenden, wenn das neue xsl:stylesheet-Attribut xpath-default-namespace="..." angegeben wird.

    Grüße,
    Thomas