Hallo Andrea,
Is (für mich) garnicht so einfach.
Jepp für mich ja auch nicht ;o)
Da bin ich ja beruhigt.
Erste Idee: man übergebe an eine function die einzelnen
Sprachelemente und prüfe gegen den Parameter „Language“.
Fällt leider weg, da ich das Xml direkt anziehen möchte (so in
der Art:
http://www.meinserver.com/haendler.xml?language=english.
Das ist kein Widerspruch. Im XSLT kannst du javascript „wie in html“ einbauen soviel du willst. Also XSLT parst das XML und dann habe ich eine html Seite, die dann abgearbeitet wird. Mit einem "
auch Inhalte des xml an eine function weiterleiten. In diesem Fall macht die function was mit dem übegebenen Wert und dann ein document.write(wert).
Leider ist es mir mit der Funktionalität nicht gelungen den
Sprachparameter im XSL wieder auszulesen. Er erkennt zwar,
dass ein Parameter da ist, weiss aber nicht, was für einer.
*ärger*
Im XSLT kenne ich auch keine Funktionalität dazu aber: javascript kann das ja machen! (siehe oben)
Eigentlich gute Idee, kann ich XMLs in andere importieren?
Dann könnte ich einfach die sprachabhängigen Tags in
unterschiedlichen XMLs verarbeiten und den Rest importieren.
ja:
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…
Aber: der Aufruf muß immer noch „steuern“.
Du meinst das XML immer in Runtime durch die Transformation
jagen? Wollte ich eigentlich aus Performancegründen vermeiden.
Warum nicht, transformation ist ja in jedem Fall notwendig! Außerdem kann dann ein XmlControl „auf dem Server“ laufen, besser für den Client(?). Änderungen an der XML Struktur/Inhalten kann man so auch leichter einbauen. Über c# (auch andere?) kann man Parameter oder gar Objekte an die Transformation hängen. stellenweise benutzen wir ein Objekt, das über einen Dienst Übersetzungen macht, für die Darstellung von XML Daten.
Einfacher ist es vielleicht die XML on Demand zu generieren
und dann direkt die richtige Sprache einzubauen.
Nach unserer Erfahrung ist die Aufbereitung on Demand (Server-Seitig) in aller Regel unkritisch (wer macht da schon wirklich komplexe Dinge?)
Falls in deinem Fall die eigentliche Datenpflege und Haltung eh aus einer DB kommt ist damit auch sichergestellt, das du immer aktuelle daten hast. Filter, Sortierungen oder ähnliches kann eine DB eh besser!
Auch hier stört mich eigentlich das on Demand. Eine
Möglichkeit wäre jedoch die XMLs beim Erstgebrauch zu
übersetzen und danach als HTML abzuspeichern.
Also transformeiren und ablegen? Klingt nicht sehr dynamisch!
Danach könnte
ich beim nächsten Aufruf einfach das HTML anzeigen…
Ich habe für einen ähnlichen Fall mehrer XMLs erzeugt, die ich je nach Sprache anziehe. ggfs. kleines Script in die rufende Seite um die richtige Sprachversion auszuwählen (name+lang+".xml") oder so.
(Bei einem XML Control natürlich per c# sehr einfach einzubauen)
Hoffe das hilft und verwirrt nicht unnötig. Du solltest dir mal die Gesamtstruktur vorstellen und dann entscheiden. Wir legen unsere Daten idR in DBs ab und stellen uns die für die Anzeige zusammen. Darstellung je nach Bedarf über DataGrids, XML Masken oder einfache „texte“ oder …? .
Entscheidend ist für mich die Frage der Datenpflege: Auch im Web? In einer DB? Oder direkt in XML?
mfg Dirk