php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > XML
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-02-2007, 20:01
kuhbus
 Newbie
Links : Onlinestatus : kuhbus ist offline
Registriert seit: Feb 2007
Beiträge: 5
kuhbus ist zur Zeit noch ein unbeschriebenes Blatt
Standard DomDocument läßt keine leeren Tags zu

hallo!

ich erstelle einen XML baum mit DomDocument.
PHP-Code:
...
$head .= "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
... 
der wird dann eingebettet ...

PHP-Code:
    function embed($what$where) {

            
$content = new DOMDocument('1.0''utf-8');    
            
$content->preserveWhiteSpace true;
            
$content->validateOnParse true;    
            
$content->loadXML($what);
            foreach (
$content->documentElement->childNodes as $item) {
                
$this->template->getElementById($where)->appendChild(
                    
$this->template->importNode($itemtrue)
                );
    } 
(kann sein, dass die klammern ned stimmen, habs gschwind kopiert)
dieser XML baum wird an anderer Stelle per XSLT processor transormiert.

PHP-Code:
    function renderXHTML() {
        if (empty(
$this->xml_content)) {
            
$this->renderXML();
        }
        
        
$xml = new DOMDocument('1.0''utf-8');
        
$xml->loadXML($this->xml_content);

        
$xsl = new DOMDocument('1.0''utf-8');
        
$xsl->load($this->xsl_stylesheet);
        
        
$proc = new XSLTProcessor;
        
$proc->importStyleSheet($xsl);
        
        
$this->xhtml_content $proc->transformToXML($xml);
        
    } 

das problem ist, dass am ende des tages "leere" tags wie meta in der form <meta ...> im sourcecode stehen und die seite deshalb nicht validieren.

irgendwie entscheidet der Dom processor, dass er das schliessende /> ruhig wegwerfen kann

PHP 5.0.4

Geändert von kuhbus (01-02-2007 um 20:17 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 01-02-2007, 22:50
kuhbus
 Newbie
Links : Onlinestatus : kuhbus ist offline
Registriert seit: Feb 2007
Beiträge: 5
kuhbus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es hat damit was zu tun:

am schluß schiesse ich die page raus mit:
PHP-Code:
echo $this->a->saveHTML
wenn ich das ändere in:

PHP-Code:
echo $this->a->saveXML
dann stimmen zwar die tag-schliesser, aber dafür wird die seite gar nicht angezeigt (nur im quelltext sieht man was) wegen der XML declaration usw.......

hmmmm
Mit Zitat antworten
  #3 (permalink)  
Alt 02-02-2007, 16:32
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo,

mache am besten mal Test Ausgaben, und zwar würde ich bei der Funktion renderXHTML() einmal das xml ausgeben bevor du es in ein DomDocument lädst, und einmal nacher mit echo $xml->saveXML();exit();

Und noch ein kleiner Tipp: Falls du die XSL-Transformationen bei jedem Seiten Aufruf machst, empfehle ich, das xml mit strings zusammen zu bauen. Dann erst wenn du es transformieren willst, in ein DomDocument laden, das spart Performance, denn wenn du viele Elemente per DomDocument + appendChild einfügst, braucht das zeit.
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:18 Uhr.