Problem mit XML

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit XML

    Ich lasse mir News aus der Datenbank automatisch per PHP in das XML-Format als RDF/RSS formatieren. Der Output sieht in der Datei dann folgendermaßen aus:

    Code:
    <?xml version="1.0"?><rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://my.netscape.com/rdf/simple/0.9/">
    
    <channel>
    	<title>Contentpapst - Webnews</title>
    	<link>[url]http://www.contentpapst.de[/url]</link>
    	<description>...</description>
    	<language>de</language>
    	<copyright>Copyright 2002, sandoba.de medien agentur</copyright>
    	<email>contact@sandoba.de</email>
    </channel>
    
    <item>
    	<title>es ist bald wieder weihnachten!</title>
    	<link>[url]http://www.testurl.de/modules_news.php?mode=detail&sid=45[/url]</link>
    	<description>...</description>
    </item>
    
    </rdf:RDF>
    Das Problem ist, dass dann im Browser folgender Fehler angezeigt wird:

    Code:
    Die XML-Seite kann nicht angezeigt werden 
    Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet XSL verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später. 
    
    --------------------------------------------------------------------------------
    
    Ein Semikolon wurde erwartet. Fehler beim Bearbeiten der Ressource 'http://localhost/test/newsfeed.xml'. Zeile 45, Position 66 
     
    <link>[url]http://www.contentpapst.de/modules_news.php?mode=detail&sid=45[/url]</link>
    -----------------------------------------------------------------^
    Woran liegt das? Ein Semikolon muss da ganz bestimmt nicht hin. Bei anderen XML-Dateien ist dies auch kein Problem. Ich bin ein wenig ratlos.
    Contentpapst 3.1 - Der Preisbrecher unter den Content-Management-Systemen
    www.contentpapst.de / WYSIWYG-Editor, Rechtesystem, eigene Module per GUI... // Demoversion
    [color=red]Ab sofort in Version 3.1![/color] / dazu auch Standalone Shop-System CP::Shop uvm.

  • #2
    Hi,

    wow! RDF in diesem Form?! - Respekt, Respekt!

    Trotzdem verstehe ich den NS nicht.
    xmlns="http://my.netscape.com/rdf/simple/0.9/">
    Was macht der?! - Müsste es nicht
    <Channel ID="Nescape" xmlns="urn:http://my.netscape.com/rdf/simple/0.9/">
    heisen oder so?!

    Da Du keine RDF-Schema resource angibst musst Du nicht deklarieren?!
    z:B.:
    Code:
    <rdfs.Class rdf:ID="Channel" xmlns="'http://localhost/test/newsfeed.xml'>
      <rdf: Description about="Channel">
             <title>Contentpapst - Webnews</title>
    	<link>[url]http://www.contentpapst.de[/url]</link>
    	<description>...</description>
    	<language>de</language>
    	<copyright>Copyright 2002, sandoba.de medien agentur</copyright>
    	<email>contact@sandoba.de</email>
       </rdf: Description>
    </rdf:RDF>
    Viele Fragen für ein Outsider

    Blaster
    Yuppi, endlich Elite ...

    Kommentar


    • #3
      Habs jetzt folgendermaßen gelöst:

      Code:
      <?xml version="1.0"?><rdf:RDF
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns="http://my.netscape.com/rdf/simple/0.9/">
      
      <channel>
      <title>Contentpapst - Webnews</title>
      <link>URL</link>
      <description>...</description>
      <language>de</language>
      <copyright>Copyright 2002, sandoba.de medien agentur</copyright>
      <email>contact@sandoba.de</email>
      </channel>
      
      <item>
      <title>TITEL</title>
      <link>LINK</link>
      <description>BESCHREIBUNG</description>
      
      </item>
      
       </rdf:RDF>
      Und vorher Wechsel der Daten mittels:

      Code:
      function changename($text) {
      $text = str_replace("Ä", "Ae", $text);
      $text = str_replace("ä", "ae", $text);
      $text = str_replace("Ö", "Oe", $text);
      $text = str_replace("ö", "oe", $text);
      $text = str_replace("Ü", "Ue", $text);
      $text = str_replace("ü", "ue", $text);
      $text = str_replace("ß", "ss", $text);
      return $text;
      }
      Funktioniert alles. Kann man natürlich auch mit den richtigen Zeichencodes lösen. Der Output ist für CMS mit "All-Inclusive-Funktionen". Da muss natürlich auch der Datenaustausch mit den verschiedensten Sprachen möglich sein. Mit Schema oder DTD wollte ich bei dem Script nicht erst anfangen.
      Zuletzt geändert von hottemp; 12.08.2002, 18:09.
      Contentpapst 3.1 - Der Preisbrecher unter den Content-Management-Systemen
      www.contentpapst.de / WYSIWYG-Editor, Rechtesystem, eigene Module per GUI... // Demoversion
      [color=red]Ab sofort in Version 3.1![/color] / dazu auch Standalone Shop-System CP::Shop uvm.

      Kommentar

      Lädt...
      X