_
toggle menu eXmatrikulationsamt.de
online: 356 gäste

> [WEBENV] XML-Datenquelle in PHP/XHTML nur mit ajax oder auch anders?

Themen Layout: Standard · Linear · [Outline] Thema abonnieren | Thema versenden | Thema drucken
post 15 Aug 2006, 11:25

6. Schein
*******

Punkte: 1338
seit: 18.10.2004

Kennt sich jemand damit aus?

Also ich habe ne XML-Datei incl. eigenem DTD - alles selber gecodet, aber will die jetzt in ne Website einbauen, als quasi bzw. Pseudo-Datenbank.

Leider finde ich nirgends wie das geht. Und nein, ich möchte kein XSLT etc. verwenden. Nur XML / PHP + XHTML & CSS.

THX 4 HELP!

keiner nen plan?

oder geht das quasi nur mit ajax ??

>>projects.xml
Zitat
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE projects SYSTEM "projects.dtd">
<projects>
<project>
<name>Discopunk</name>
<bild1>projects/discopunk1.png</bild1>
<bild2>projects/discopunk2.png</bild2>
<desc1>Page coding // xhtml, php, mysql, css</desc1>
<desc2>Layout optimizing // image cutting</desc2>
<desc3>Thanks to: mars.one + dede</desc3>
</project>
<project>
<name>Dope Dj Culture</name>
<bild1>projects/ddc05.png</bild1>
<bild2>projects/ddc06.png</bild2>
<desc1>Content</desc1>
<desc2>Page coding // xhtml, php, css</desc2>
<desc3>Layouting</desc3>
</project>
<project>
<name>Beatcity</name>
<bild1>projects/beatcity1.png</bild1>
<bild2>projects/beatcity2.png</bild2>
<desc1>Idea, concept, promotion, administration</desc1>
<desc2>Page coding // xhtml, css</desc2>
<desc3>Layouting</desc3>
</project>
<project>
<name>Chantals Welt</name>
<bild1>projects/chantal1.png</bild1>
<bild2>projects/chantal2.png</bild2>
<desc1>Page coding // xhtml, css</desc1>
<desc2>Layouting</desc2>
<desc3>thanks to: Annelie Schober</desc3>
</project>
<project>
<name>Foto-Wittmair</name>
<bild1>projects/fowittmair1.png</bild1>
<bild2>projects/fowittmair2.png</bild2>
<desc1>Page coding // html, css</desc1>
<desc2>Layouting</desc2>
<desc3>Thanks to: Mario Ratzel</desc3>
</project>
<project>
<name>Boys can cook</name>
<bild1>projects/boyscancook1.png</bild1>
<bild2>projects/boyscancook2.png</bild2>
<desc1>Idea, concept, maintenance, administration</desc1>
<desc2>Page coding, layout // xhtml, css</desc2>
<desc3>Content</desc3>
</project>
<project>
<name>BNZ . Style</name>
<bild1>projects/bnz1.png</bild1>
<bild2>projects/bnz2.png</bild2>
<desc1>Idea, concept, maintenance, administration</desc1>
<desc2>Page coding, layout // xhtml, css</desc2>
<desc3>Content</desc3>
</project>
<project>
<name>BSZ Floeha RIP</name>
<bild1>projects/bsz1.png</bild1>
<bild2>projects/bsz2.png</bild2>
<desc1>Idea, content, concept, maintenance, administration</desc1>
<desc2>Page coding, layout // xhtml, css</desc2>
<desc3>Thanks to: WG01/U01/WG02</desc3>
</project>
<project>
<name>BlockRockinBeats at Wu-Area</name>
<bild1>projects/brb1.png</bild1>
<bild2>projects/brb2.png</bild2>
<desc1>Idea, concept, maintenance, administration</desc1>
<desc2>Page coding, layout // xhtml, css, php</desc2>
<desc3>Thanks to: Sven, GunJa, Steppenwolle and WU5</desc3>
</project>
</projects>


>>projects.dtd
Zitat
<!ELEMENT projects (project)*>
<!ELEMENT project (name, bild1, bild2, desc1, desc2, desc3)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT bild1 (#PCDATA)>
<!ELEMENT bild2 (#PCDATA)>
<!ELEMENT desc1 (#PCDATA)>
<!ELEMENT desc2 (#PCDATA)>
<!ELEMENT desc3 (#PCDATA)>


jedes project soll in einer html-seite (ausgelesen durch php) angezeigt werden, allerdings dynamisch ..

DANKE und grüße aus berlin =)
ProfilPM
AntwortenZitierenTOP
 
Antworten
post 16 Aug 2006, 00:43
avatar
Ivan
*********

Punkte: 3352
seit: 01.04.2006

Also ich kann dir nur empfehlen XSLT bzw. XSL für das Layout, XML für die Daten und PHP für die Funktionalität zu benutzen das ist einfach nur genial. W3C abgesegnet bzw. sogar empfohlen. Zusätzlich noch Hot Creation hat mir der Martschi geflüstert.

XSL ist gar nicht so kompliziert hat nur ein paar Funktionen die man kennen muss, bzw. kennen sollte. XSL ist eine funktionale Sprache, also nicht mit imperativen Sprachen verwechseln. XSL ist selber ein XML dokument. XSL macht im Prinzip nichts anderes als die Daten aus deinem für den XML Prozessor angegebenen XML File (Daten) zu nehmen und sie auf deine gwünschte neue XML FORM umzuwandeln also in deinem Fall in XHTML.

In der W3C schule findest du alles was wichtig ist. Auch alle funktionen.

Du solltest dir XML, XSL und XPATH angucken. XSL greift auf alle Sachen in XML mittels Xpath zu.

http://www.w3schools.com/


Also die XML Daten mit xsl auszulesen und zu transformieren ist bei weitem einfacher als die daten mit PHP auszulesen, zu versuchen in ein Array zu hauen, dieses dann kontrollieren zu wollen und auch noch auszugeben. Das ist nicht in der Sache des Erfinders denn damit vermischt du Layout und Funktionalität. Eigentlich ist PHP nur der Parser der Prozessor und der Überwacher das die Eingaben bzw. Anfragen a la (.../projekte.php?nr=1) korrekt sind. Php setzt je nach anfrage, mittels einer einfachen funktion eine Variable in das eingelesene XSL document (natürlich nur im Speicher, variable wird nicht in den XSL file auf der Platte geschrieben) und das weiß dann welches Template angezeigt werden soll.


Wichtig ist das in PHP 5.0 die xsl Prozessor Extension geladen ist.

Ich werde dir morgen mal das was du machen willst mit XSL, XML und PHP basteln wird nicht viel code haben. Ich werde das ganze auch für dich kommentieren dann siehst du vielleicht besser durch.


Dieser Beitrag wurde von No Name: 16 Aug 2006, 00:44 bearbeitet


--------------------
T for Vendetta.

On his way to return to innocence.

"Man, was die uns erzählt hat, kam aus einem Buch, das muss einer geschrieben haben, der keine Ahnung von dem hatte, worüber er sich ausließ."

"Miles, hörst Du den Vogel da draußen? Das ist 'ne Spottdrossel. Sie hat keine eigene Stimme, sie macht nur die Stimmen der anderen nach und das willst du nicht. Wenn du dein eigener Herr sein willst, musst du deine eigene Stimme finden. Darum geht's. Sei also nur du selbst."

An Rezepten für Apfelkuchen mangelt es wahrhaftig nicht auf der Welt

Tenac auf der Suche nach seinem Meister ious D

look into my eyes and its easy to see one and one make two, two and one make three, it was destiny
ProfilPM
AntwortenZitierenTOP
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder: