2010-12-15 4 views
1

Ich habe ein Stück Hardware, für die wir eine Websteuerungsschnittstelle erstellen möchten. Diese Hardware nutzt derzeit eCOS, um die Web-Schnittstelle/HTML-Generierung zu steuern, und ich bin daran interessiert, davon wegzukommen.Sind XML und XSLT eine praktikable Option zum Erstellen einer Webschnittstelle für ein Hardwaregerät?

Ich bin nicht vertraut mit Web-Programmierung, dachte aber, dass XML und XSLT ein möglicher Weg dafür wäre. Die große Design-Anforderung ist, dass der Benutzer nichts anderes als einen Standard-Browser wie Firefox oder IE ausführen muss.

Wenn der Webserver eine Anfrage erhält, sende ich einfach die XML- und XSLT-Dateien, muss die XSLT-Datei auf dem Computer des Benutzers vorhanden sein, oder führt die XSLT-Datei die Transformation innerhalb des Webservers durch, bevor HTML gesendet wird ?

Ich weiß, das ist eine schmerzlich einfache Frage für diejenigen mit mehr Erfahrung, aber ich werfe mich in die Hoffnung auf etwas Hilfe.

+0

Ich denke, das gehört zu http://webapps.stackexchange.com/ –

+0

@ Alejandro: Ich bin weit entfernt von einem "Power User", aber die Anwendung ist wahrscheinlich angemessen. –

Antwort

2

Es kann in beide Richtungen erfolgen - in vielerlei Hinsicht ist es besser, auf dem Server zu transformieren, da Sie die Browserkompatibilität nicht sicherstellen können.

XSLT-Transformationen sind in neueren Versionen von IE und Firefox möglich (fügen Sie einfach einen Verweis auf das Stylesheet zu Ihrem XML-Dokument hinzu - es kann eine Remote-URL sein). Die Unterstützung variiert jedoch zwischen den Browsern und den verschiedenen Versionen.

Um sicherzustellen, dass Sie wissen, was der Browser bekommt, würde ich auf dem Server transformieren (möglicherweise Zwischenspeicherung der Transformationsergebnisse).

+1

@Oded: "XSLT Transformationen sind auf jedem großen Browser wie IE 6,7,8, FF, Opera, Safary und Chrome möglich. Alles streng nach dem Standard. –

+0

@Alejandro - Ich war mir nicht sicher über Opera, Chrome und Safari. – Oded

+0

@Oded: Mein Chef wird die Idee mögen, weniger der "Phantasie" des Browsers zu überlassen, also werde ich wahrscheinlich auf dem Server transformieren. –

1

IMHO XSLT funktioniert gut mit 'schreibgeschützten' Browseransichten, bei denen das Hauptproblem die Formatierung von Seitendaten ist.

wird jedoch IMHO XSLT Icky sehr schnell, wenn Sie Rich-Client-Schnittstellen aufbauen müssen, wie Sie verschiedene Sprachen HTML, js/jquery etc

Re enthalten müssen: Wo tun, um die XSLT - Sie tun können, um die Transformation auf dem Server selbst (und machen HTML), oder Sie können mit dem Linked XSL Referenz

<?xml-stylesheet type="text/xsl" href="myxsl.xsl"?> 
+0

Ja. Das ist, wo mich meine Ungewohntheit mit Web- "Zeug" erwischt hat. Ich erkenne jetzt das 'href' und hätte annehmen sollen, dass es sich mit der Transformation auf dem Server verbinden könnte. Vielen Dank. –

2

ich habe eine Antwort, die Sie möglicherweise oder möglicherweise nicht hilfreich, über den Bau der xml nach unten an den Browser senden große Websites und Webapps mit einer helfenden Hand von XML/XSLT.

So wie wir es tun, wie es gemacht werden kann, teilen nur die Erfahrung.

Backend

Backend-Programmierer machen High-Level-Business-Logik. Das Ergebnis sind XML-Daten, die über http verfügbar sind.

Frontend

Ein XML-Dialekt verwendet wird http Anrufe zu tätigen XML-Daten zu erwerben, die aus unterschiedlichen Quellen stammen. Es gibt auch viele andere Dinge wie das Arbeiten mit Request/Protocol/Cookies, Art von lokalem Datastorage (z. B. eigener Bereich zum Erstellen/Setzen von "Variablen"), Caching, Threading und so weiter.

So ein XML-Dokument für jede bestimmte Seite wird in Echtzeit erstellt (mit Ausnahme der zwischengespeicherten Teile natürlich). Gemeinsame Teile werden über XInclude geteilt.

Dann kommt es zu XSLT.Nun, nichts Ungewöhnliches hier, außer dass ein nennenswerter Teil der Geschäftslogik geschaffen wird. Alles in allem ist es eine Transformation der erworbenen XML-Eingabe in HTML/CSS-Darstellung.

XSLT wird hauptsächlich auf der Serverseite und nicht auf dem Client ausgeführt.

Dies alles ist der Verantwortungsbereich von UI-Programmierern.

Clientside

JS User Experience Logik enthält, wird als gut durch UI-Programmierer geschrieben. AJAX-Aufrufe gehen zum Beispiel zu XML-Gates, die am Frontend erstellt werden, wo die Backend-Antwort bequem in HTML, JSON oder irgendetwas anderes über XSLT konvertiert und dann auf dem Client verwendet werden kann.

Ganzes Bild

Benutzer auf eine Seite geht (index.xml oder Index/oder Sie es nennen), XML-Daten aus verschiedenen Quellen gesammelt, was XML wird und als über HTML/CSS umgewandelt XSLT. Keine sichtbaren Hinweise für einen Benutzer, dass XSLT überhaupt vorhanden war.

Verwandte Themen