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 11-09-2005, 17:23
Heavensdoor
 Newbie
Links : Onlinestatus : Heavensdoor ist offline
Registriert seit: Jun 2005
Beiträge: 34
Heavensdoor ist zur Zeit noch ein unbeschriebenes Blatt
Question PHP Konstanten in XSL Dateien verwenden?

Hallo

ich bin derzeit dabei meine Scripte auf XML/XSLT umzustellen. Jedoch habe nun mal eine Frage bzgl. Konstanten in XSL Dateien.

Wenn ich nun ein Script habe, welches in deutsch und englisch vorhanden ist, könnte ich es über mehrere Wege lösen:

- Ich lege für jede Sprache eine eigene XSL Dateie an - was jedoch nicht sehr sinnig ist
- Ich lege für jede Sprache eine eigene XML-Datei mit übersetzungen an, welche dann jedoch jedesmal geparst werden müsste.
- Ich lege eine Datei mit Konstanten der Übersetzungen an.

Auf den dritten Punkt bezieht sich nun auch meine Frage: Kann ich PHP-Kostanten innerhalb meiner XSL Dateien verwenden? Und wenn ja, wie?

Wobei was haltet ihr allgemein von meiner Idee mit den Konstanten? Weil eigentlich wäre eine XML-Datei mit den übersetzungen sinnvoller jedoch auch rechenintensiver oder?
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 11-09-2005, 22:14
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Kann ich PHP-Kostanten innerhalb meiner XSL Dateien verwenden?
formal gesehen ja - allerdings muss man sagen, dass es der xsl engine völlig egal ist - in werte umwandeln kann sie natürlich nur php, aber auch nur mittels banaler str_replace() o.ä., als wären sie platzhalter einer template-engine. bis dahin werden sie wie strings behandelt.

es würde sich anbieten, folgende struktur aufzubauen:

1. php initiiert die konstanten (die übersetzung kommt aus dateien oder aus der db).

2. php liest die xsl-datei wie eine ganz normale textdatei ein.

3. php parse-t den inhalt der xsl-datei und ersetzt die platzhalter durch die werte der konstanten (hier evtl. get_defined_constants()).

4. php wendet den entstandenen xsl-string an einer xml-datei an mittels der xslt-engine und macht die ausgabe.

ob das performant ist, lässt sich schwer beurteilen, das hängt von dem anwendungsgebiet ab.
Mit Zitat antworten
  #3 (permalink)  
Alt 11-09-2005, 22:40
Heavensdoor
 Newbie
Links : Onlinestatus : Heavensdoor ist offline
Registriert seit: Jun 2005
Beiträge: 34
Heavensdoor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es geht um einen Shop, welcher nun auf XML/XSLT umgestellt werden soll. Derzeit wird der Shop nur in deutscher Sprache genutzt - aber man kann ja nie wissen und ich möchte auch gerne für die Zukunft gerüstet sein

Das ganze sollte natürlich möglichst performant arbeiten. Aber ansonsten wüsste ich nicht, wie man es machen könnte.

Ich könnte natürlich eine XML Datei machen, welche nur die Übersetzungen besitzt. Diese hänge ich dann beim laden der eigentlichen XML-Datei ein und daraus holt sich dann XSLT die Daten.

Wie schauts da mit der Geschwindigkeit aus?
Mit Zitat antworten
  #4 (permalink)  
Alt 12-09-2005, 13:05
Benutzerbild von Nezzar Nezzar
 wannabe batard
Links : Onlinestatus : Nezzar ist offline
Registriert seit: Mar 2002
Beiträge: 477
Nezzar ist zur Zeit noch ein unbeschriebenes Blatt
Nezzar eine Nachricht über ICQ schicken
Standard

Ich würde eine Lösung mit registerPHPFunctions() vorziehen (vorrausgesetzt du benutzt PHP5. Bin mir nicht sicher, ob ein ähnliches Feature in PHP4 besteht).

Das rumgefrickel mit RegEx's und/oder strpos/substr-Manipulationen kann man so einfach umgehen.
Wenn du dann eine Funktionen namens getLangString() lässt diese sich aus XSL heraus aufrufen.
__________________
"Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender
Mit Zitat antworten
  #5 (permalink)  
Alt 12-09-2005, 13:48
Heavensdoor
 Newbie
Links : Onlinestatus : Heavensdoor ist offline
Registriert seit: Jun 2005
Beiträge: 34
Heavensdoor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Nezzar
Ich würde eine Lösung mit registerPHPFunctions() vorziehen (vorrausgesetzt du benutzt PHP5. Bin mir nicht sicher, ob ein ähnliches Feature in PHP4 besteht).

Das rumgefrickel mit RegEx's und/oder strpos/substr-Manipulationen kann man so einfach umgehen.
Wenn du dann eine Funktionen namens getLangString() lässt diese sich aus XSL heraus aufrufen.
Also ich möchte PHP5 schon einsetzen - alleine wegen dem besseren XML/XSLT Support. Wie sollte ich diese Funktion dann richtig einsetzen?

Weil so wie ich es verstehe, könnte ich dann eine Funktion aufrufen, welche mir die übersetzung liefert. Ginge so oder?

Vielleicht noch einer eine Meinung zu der Situation mit dem XML einhängen etc.
Mit Zitat antworten
  #6 (permalink)  
Alt 12-09-2005, 15:23
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hab mich gerade noch an eine sache erinnert: du kannst die übersetzungen tatsächlich in eine externe xml datei ablegen, und zwar in form von entities. dann wäre die einzige sache, die du mit php anpassen müsstest (je nach sprache) - der pfad zu dieser datei. das wäre viel performanter, denn die ersetzung würde auf der xml-engine ebene erfolgen.

hier noch ein paar lektüren, auf die schnelle:

http://www.xml.com/pub/a/2001/03/14/trxml10.html
http://www.xml.com/pub/a/98/08/xmlqna1.html#EXTENT
http://www.infos24.de/xmle/handbuch/...fuehrung.htm#3
Mit Zitat antworten
  #7 (permalink)  
Alt 13-09-2005, 07:56
Heavensdoor
 Newbie
Links : Onlinestatus : Heavensdoor ist offline
Registriert seit: Jun 2005
Beiträge: 34
Heavensdoor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das mit den Entities hört sich nett an - die könnte ich dann wirklich aus der Datenbank ziehen und in eine datei schreiben lassen und ablegen. Damit ich sie dann nicht permanent in jede Datei schreiben muss, werde ich sie beim parsen wohl einhängen und Ruhe ist

Also die Methode würde mich doch ansprechen - meine jedoch mal gelesen zu haben, dass DTDs nicht mehr sehr zeitgemäß sind. Ist das Schwachsinn oder stillt das
Mit Zitat antworten
  #8 (permalink)  
Alt 13-09-2005, 09:11
Benutzerbild von Nezzar Nezzar
 wannabe batard
Links : Onlinestatus : Nezzar ist offline
Registriert seit: Mar 2002
Beiträge: 477
Nezzar ist zur Zeit noch ein unbeschriebenes Blatt
Nezzar eine Nachricht über ICQ schicken
Standard

Die Idee mit den Entities hat noch einen anderen Vorteil: Wenn du die Sachen wirklich nur einmal (oder periodisch, z.B. einmal wöchentlich) in die DTD schreibst, entfällt ein Zugriff auf die Datenquelle (nicht, das es sooo viel ausmacht, aber jedes bisschen hilft ).
__________________
"Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender
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

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:53 Uhr.