Ist es sinnvoll, nicht-ASCII (natürlichsprachige) XML-Tags zu verwenden?

8

Ist es angebracht, XML-Tags (Elementnamen) zu verwenden, die in natürlichen Nicht-ASCII-Sprachen geschrieben sind? Die XML-Spezifikation ermöglicht dies (siehe Namen und Ausnahmen ), aber ich konnte unter W3C und verwandte Seiten.

Was ich suche, ist ein praktischer Ratschlag darüber, welche Tools dies unterstützen, ob wichtige XML-bezogene Technologien wie XSLT und XForms Probleme damit haben usw.

Ich denke Andrey und Tomalak vermissen den Punkt. XML wird nicht unbedingt von Programmierern gelesen, es wird von vielen verschiedenen Fachleuten gelesen. Daher gelten die Argumente, die es mit dem Quellcode vergleichen, nicht unbedingt.

Lassen Sie mich klarstellen: Ich meine eine bulgarische Rechtsdomäne, in der viele Begriffe spezifisch für den bulgarischen Rechtsweg sind und möglicherweise nicht einmal genaue englische Übersetzungen haben. Sie zu übersetzen wäre mühsam, ungenau und unpraktisch. Transliteration nach ASCII ist suboptimal.

Also zurück zu der Frage: Mit welchen Werkzeugeinschränkungen würde ich konfrontiert werden? (Eclipse unterstützt UTF, daher ist das Schreiben von XPaths kein Problem.)

Um Leute in die technische Richtung zu bringen, die ich gerne hätte: In mehreren Systemen haben wir Generierungstechniken verwendet, um eine perfekte Übereinstimmung zwischen XML-Schemas, Java-Beans und Datenbankschemata sicherzustellen.

Vladimir Alexiev 20.05.2010, 11:31
quelle

7 Antworten

5

Wenn der Inhalt der Dokumente in Bulgarisch ist, sollte das Markup möglich sein.

Wenn Ihre Toolchain die Tags in dieser Sprache nicht analysieren kann, wie können Sie dann sicher sein, dass sie den Inhalt korrekt verarbeitet?

Programmierer werden immer die Sprache der Zieldomäne lernen müssen, sei es Finanzen, Genetik, Ingenieurwesen oder das bulgarische Rechtssystem. Kompromisslose Benutzerfreundlichkeit für den Komfort des Programmierers ist fast immer ein "Bad Thing". Was auch immer an Aufwand eingespart wird, geht verloren und beeinträchtigt die Produktivität des Endbenutzers und die Supportkosten während der Lebensdauer des Produkts.

    
Matthew S 24.05.2010 03:49
quelle
3

Es ist eine schlechte Idee, Variablen in Muttersprachen zu benennen. Sie machen Ihr Programm für die meisten Entwickler automatisch unlesbar.

    
Andrey 20.05.2010 11:33
quelle
2

Kurze Antwort: Sie können Ihre XML-Elemente beliebig benennen.

Etwas längere Antwort: Wenn Sie das tragbarste / wartbarste XML verwenden möchten, sollten Sie wahrscheinlich nur ASCII-Elementnamen verwenden. Ich kann mir keinen guten Grund vorstellen, andere Zeichen im Elementnamen zu verwenden, und es hilft sicherlich, mit dem XML an allen möglichen Stellen umzugehen.

Denken Sie daran, XML-Knoten mit einer Programmiersprache zu behandeln, in der die Quellcodedateien nicht notwendigerweise UTF-8-codiert sind. In einer solchen Sprache wäre es beispielsweise schwierig, funktionierende XPath-Ausdrücke zu schreiben. Oder Betreuer / Programmierer, die nicht die Sprache sprechen, in der sich Ihre Elementnamen befinden, sondern die für den Quellcode verantwortlich sind. Sie sperren sich beispielsweise ein, wenn Ihre Elementnamen kyrillisch sind. Elementnamen sollten Struktur und Bedeutung tragen, und es gibt keinen ersichtlichen Grund, der ASCII für diesen Zweck ausschließen würde.

    
Tomalak 20.05.2010 11:39
quelle
2

Schreiben Sie Ihr XML in der gewünschten Sprache. Stellen Sie sicher, dass die Codierung den von Ihnen verwendeten Zeichensatz unterstützt und dass Sie die korrekte Codierung in der XML-Verarbeitungsrichtlinie angeben.

Das wird helfen, Werkzeuge, die XML unterstützen, von Werkzeugen zu trennen, die dies auch tun und die das nicht tun.

    
John Saunders 24.05.2010 03:20
quelle
1

Es tut mir leid, dies zu sagen, aber wenn Ihre nicht-technischen Benutzer rohen XML-Code lesen müssen, ist Ihre Anwendung defekt. Und die Daten, die Sie speichern, haben in der Regel auch keine 1: 1-Übereinstimmung mit Benutzermeldungen: Viele Dinge werden redundant auf XML gespeichert und andere Dinge sind implizit aus den Daten.

Ich finde, Sie sollten, ja, alle Ihre XML-Daten auf Bulgarisch mit dem UTF-8-Zeichensatz speichern. Aber in Attributen, nicht in der XML-Tag-Struktur.

Ich denke darüber nach: Sie könnten Ihr Programm so gestalten, dass die legale Struktur von der Benutzeroberfläche aus frei geändert werden kann (vielleicht in einem speziellen "admin" Panel, aber immer noch weit entfernt vom Code), und in keiner Weise fest im Dateiformat codiert. Der Grund dafür ist, dass sich die Gesetze ändern, sich die Rechtsprechung ändert und sich auch die rechtlichen Bestimmungen ändern können. (Nun, manche nicht)

Dies ermöglicht es Ihnen, ein ziemlich allgemeines Dateiformat zu erstellen (denken Sie an eines, das auch in den USA oder in Japan verwendet werden könnte), selbst wenn Sie es nicht vorhaben, auf diese Weise Ihre Änderungen beim Entwerfen einer flexiblen Datei Format wird größer sein)

Dies kann schwieriger sein. Sie müssen darauf vorbereitet sein, mit inkonsistenten, unvollständigen oder anderweitig schlechten Daten umzugehen. Aber du solltest das sowieso machen. Und Sie könnten auch belohnt werden: Das Dateiformat könnte sauberer und zukunftssicherer sein und Ihre Software flexibler machen. Oder vielleicht nicht. Beachten Sie die Mays, könnte hier. Es hängt tatsächlich von Ihren spezifischen Design-Kompromissen ab.

Und natürlich müssen Sie hier ein Gleichgewicht haben. Letztendlich liegt es an Ihnen, ein zuverlässiges und flexibles System zu entwickeln. Sie können den Ansatz des Schreibens der Tags auf Bulgarisch nehmen. Ich komme aus Brasilien, und ich finde es komisch, an so etwas zu denken, aber es könnte funktionieren.

Über Ihre tatsächlichen Bedenken bezüglich Werkzeugeinschränkungen: Ich habe keine Ahnung. Sie sollten zuerst nach der Dokumentation Ihrer Lieblings-XML-Bibliothek suchen und herausfinden, ob sie die Unterstützung für diese Bibliothek behauptet. Selbst die am häufigsten verwendeten Programme unterstützen möglicherweise nicht vollständig eine Funktion, die nicht häufig verwendet wird.

    
user348635 24.05.2010 04:09
quelle
0

Es hängt von Ihnen und Ihren Entwicklungsregeln ab. XML-Tag-Namen sollten jedoch für alle leicht lesbar und verständlich sein. Selbst der, der nach einiger Zeit zu dir kommt, sollte es auch richtig bekommen. Es ist also besser, sie nach den richtigen Namenskonventionen zu benennen.

Überprüfen Sie das Beispiel wie folgt.

%Vor%

danke.

    
Parth 20.05.2010 12:13
quelle
0
  

Mit welchen Werkzeugeinschränkungen würde ich konfrontiert werden?

Wenn ich mich richtig erinnere, war die Menge der erlaubten Zeichen in XML-Namen ursprünglich in XML 1.0 und XML 1.1 anders, wobei letztere auch einige zuvor ausgeschlossene südostasiatische Skripte erlaubt. Es gab eine Änderung in der fünften (= neuesten) Ausgabe von XML 1.0 Empfehlung und jetzt sind die erlaubten Namen Zeichen die gleichen. Es ist also zumindest theoretisch möglich, dass einige Tools, die angeblich XML 1.0-kompatibel sind, Probleme mit diesen neuen erlaubten Zeichen haben, wenn sie die Gültigkeit des Namens prüfen und nur der vierten XML-Version entsprechen 1.0.

Aber in Ihrem Fall ist dieses Problem nur theoretisch, wenn Sie nur ASCII- und bulgarische Zeichen verwenden.

    
jasso 08.10.2010 16:46
quelle

Tags und Links