Nehmen wir an, Sie müssen eine xml-basierte (keine Auswahl) Sprache schreiben, die am Ende eine Art "Standard" -Format sein wird, die von Milliarden von Anwendungen auf der ganzen Welt verwendet wird, oder zumindest, auf die Sie hoffen es. Diese Sprache wird wie HTML für das Internet sein, aber in einer anderen spezifischen Domäne. Etwas wirklich einfaches und beschreibendes, das von Werkzeugen und anderen Anwendungen interpretiert wird.
Nehmen wir an, Sie haben ein grundlegendes Verständnis davon, wie XML funktioniert (Sie wissen, wie Tags funktionieren, dass sie Attribute haben können und dass es Elemente in Elementen geben kann ...). Du verstehst die Domain wirklich gut, aber du hast nie zuvor eine Sprache oder xml-basierte Formatspezifikation geschrieben (abgesehen von einigen grundlegenden XML-Formaten für deine firmeninternen Tools).
Was müssen Sie noch wissen, um Ihre Arbeit richtig zu machen? Vielleicht einige XML-spezifische Funktionen? Vielleicht eine XSD-Datei als Spezifikationsdatei verwenden?
Um es zusammenzufassen: Was sind die besten Praktiken beim Entwerfen und Schreiben von Spezifikationen für diese Art von Sprache?
Zunächst müssen Sie Ihre Problemdomäne wirklich , wirklich kennen, um sicherzustellen, dass Ihr Markup alle Anforderungen für diese Milliarden von Anwendungen erfüllen kann. Alles andere ist zweitrangig. Es ist kein Technologie- oder Tool-Problem.
Der Blogpost XML verwenden und missbrauchen hat unter anderem einige gute Ratschläge:
>%Vor%Ein weiterer beliebter Missbrauch von XML beinhaltet Einfaches Umhüllen beliebiger Daten mit XML Tags ... wie die folgenden:
%Vor%In einem besseren, maßgeschneiderten XML-Dateiformat würden wir erwarten, dass dieses Paar so etwas wie
ist
Tue zuerst etwas selbst, wenn es wirklich nichts anderes gibt, das stattdessen verwendet werden könnte.
Halten Sie Elementnamen kurz, aber beschreibend.
Wenn möglich, haben Sie ein sehr strenges Schema, das nicht mehrere Möglichkeiten zulässt, dasselbe zu tun. Dies verhindert mögliche Verwirrung über was möglich ist oder wie das Markup interpretiert werden kann.
Seien Sie sehr vorsichtig beim Erlauben von Erweiterbarkeit, da dies die Probleme ermöglichen kann, die ein strenges Schema zu verhindern versucht.
Stellen Sie sicher, dass Sie Ihr Schema versionieren, und versuchen Sie immer, Änderungen zu vermeiden, und / und Rückwärtskompatibilität mit neuen Versionen zuzulassen.
Stellen Sie sicher, dass Sie einen Validator und andere Tools zur Verfügung haben, um Ihre neue Sprache so einfach wie möglich zu nutzen.
Auf jeden Fall sollten Sie XPath zu einem bestimmten Zeitpunkt lernen. Es ist (denke ich) der beste Weg, um XML auszuwählen.
IBM hat eine Reihe von Prinzipien des XML-Designs
Seien Sie prägnant in Ihrer Designauswahl, wenn Sie Route A wählen, wählen Sie sie überall. d.h.
Wenn Sie ein Wrapper-Element <books>
verwenden, um <book>
zu speichern, verwenden Sie überall ein Wrapper-Element für Sammlungen.
Seien Sie so knapp wie möglich, um Unordnung zu vermeiden. XML soll von uns Menschen lesbar sein.
Zunächst stimme ich trevor zu, du musst die Gegend kennen, die du verdeckst, nichts Schlimmeres als ein gepatchtes Standard, das sieht es aus.
Zweitens müssen Sie zumindest ein wenig über xsd und xslt wissen. und etwas mehr über xpath / xquery, da Benutzer Ihres Standards diese wahrscheinlich verwenden werden, um ihren Inhalt zu handhaben.
Drittens möchte ich vorschlagen, dass Sie so tief wie möglich in andere XML-basierte Standards eintauchen, um zu sehen, wie sie erstellt wurden. Der XHTML-Standard eignet sich sehr gut zum Lernen, da es der älteste XML-Standard ist und seine Entwicklung von der tatsächlichen Nutzung über einen längeren Zeitraum bestimmt war. Außerdem sollten Sie vielleicht atom und rss, xsd (dieses Mal als Standrad, nicht eine Technologie) und microformats studieren