Frage

Gibt es formal Empfehlungen Element Gehäuse in XML?

Ich weiß, XHTML Kleinelementnamen verwendet (im Gegensatz zu HTML gegenüber, die kanonisch Groß verwendet, aber sind Groß- und Kleinschreibung.)

Aber ich spreche über XML für generische Inhalte.

Klein:

<customer> 
   <accountnumber>619</accountnumber>
   <name>Shelby Lake</name>
</customer>

camelcase:

<customer> 
   <accountNumber>619</accountNumber>
   <name>Shelby Lake</name>
</customer>

Pascal:

<Customer> 
   <AccountNumber>619</AccountNumber>
   <Name>Shelby Lake</Name>
</Customer>

VERSALIEN:

<CUSTOMER> 
   <ACCOUNTNUMBER>619</ACCOUNTNUMBER>
   <NAME>Shelby Lake</NAME>
</CUSTOMER>

Hinweis: Ich bin für zitierten Richtlinien suchen, anstatt Meinungen. Aber die Meinung mit den meisten up-Stimmen kann eine Richtlinie berücksichtigt werden.

War es hilfreich?

Lösung

Die meisten XML-Standards des W3C Ursprung neigen dazu, mit Bindestrichen kleingeschrieben zu verwenden.

Es ist eine philosophische Unterscheidung XML als Format für plattformneutrale Dokumente zwischen Sehen, die W3C-Standards zu fördern versuchen, und Sprachen wie XAML, die XML als Serialisierung einer plattformspezifischen Objektgraphen sehen.

Wenn Sie nicht XML als Plattform neutral Dokument-Format, sondern als eine anwendungsspezifische Serialisierung, dann könnten Sie auch sparen Sie sich einige Mühe und haben eine 1: 1-Entsprechung zwischen dem XML-Namen und den plattformspezifischen Namen. Aber fast alles anderes Objektgraph-Format ist besser als XML für diesen Zweck.

Wenn Sie sind, dann möchten Sie vielleicht mit XHTML passen, XSLT, SVG, XProc, RelaxNG und dem Rest.

Andere Tipps

Nicht, dass es wichtig ist, aber ich habe immer eine Vorliebe für Elemente und Attribute für camelcase zu Pascal:

<Root>
  <ParentElement attributeId="1">
    <ChildElement attributeName="foo" />
  </ParentElement>
</Root>

Es gibt keine formelle Empfehlung.

Da XML mit den Zwillings Zwecke entworfen wurde hält Dokumente und den Austausch von Informationen zwischen verschiedenen Systemen , es entworfen wurde, um zu in der Lage sein Spiel die Anwendungen verwenden es.

So .NET XML neigt ProperCasing (Zeuge XAML) zu verwenden, während andere XML camelcase verwenden, python_conventions, dot.naming und sogar COBOL-CONVENTIONS. Das W3C scheint Klein-mit-Striche-ganz-a-Bit zu mögen (zum Beispiel XSLT) oder justlowercasewordssmashedtogether (z MathML).

Ich mag alle Kleinbuchstaben und keine Unterstreichungen, da das bedeutet weniger Verwendung der [Shift] -Taste gedrückt, und meine Finger sind ein wenig faul. :)

Hinzufügen zu Metro Smurf Antwort.

Die National Information Exchange Model (NIEM: http://en.wikipedia.org/wiki/National_Information_Exchange_Model ) sagt zu verwenden:

  • Obercamelcase (Pascal) für Elemente.
  • (untere) camelcase für Attribute.

Die NIEM sorgt für eine gute Option, wenn Sie zu einem gewissen Standard entsprechen suchen.

Sehen Sie die UN / CEFACT XML Naming und Design-Regeln Technische Spezifikation Version 3.0 Seite 23 für einige Beispiele Regeln in mehreren Standards verwendet.

Besonderheiten (ab Seite 23 der Version 3.0 vom 17. Dezember 2009):

  • LowerCamelCase (LCC) muss für die Benennung von Attributen verwendet werden.
  • Uppercamelcase (UCC) muss für die Benennung von Elementen und Typen verwendet werden.
  • Element, Attribut und Typnamen in Singularform sein muss, es sei denn der Begriff selbst Plural ist.

( anderer Link, schwedisch Website )

meinen Kommentar oben : die Verwendung von ‚Klein mit Bindestrichen‘ einige Probleme in XSLT hat. Insbesondere ist es leicht, einen Knoten bezeichnet, sagen sie, ‚year-from-Alter‘ zu verwechseln mit einer Formel ‚Jahr - Alter‘. (Zum Beispiel Alter von Jahr subtrahieren)

Wie @KarlKieninger weist darauf hin, dass dies nur ein Problem auf der menschlichen Ebene und nicht für den XSLT-Parser. Doch da dies oft nicht zu einem Fehler , ‚Klein mit Bindestrichen‘ als Standard verwendet bittet um Probleme, IMHO.

Einige einschlägige Beispiele:

<a>1</a><b>1</b>
<xsl:value-of select="a+b"/>
outputs 2, as expected

<a>1</a><b>1</b>
<xsl:value-of select="a-b"/>
DOES NOT ERROR, BUT OUTPUTS NOTHING AT ALL

In dem obigen Code, müssen Sie mindestens ein Leerzeichen vor einem Subtraktionsoperator setzen, aber es gibt keine solche Anforderung für einen Additionsoperator.

<a-b>1</a-b><c>1</c>
<xsl:value-of select="a-b -c"/>
outputs 0, as expected

Beachten Sie aber, wie verwirrend die oben zu lesen ist!

<a>1</a><a-b>3</a-b><b>2</b>
<xsl:value-of select="a-b"/>
outputs 3

<a>1</a><a-b>3</a-b><b>2</b>
<xsl:value-of select="a -b"/>
outputs -1

Das Vorhandensein eines einzigen Raum ändert die Ausgabe oben, aber keine Variante ist ein Fehler.

Google-Style-Guide empfiehlt (vielleicht sogar Mandate) camelcase für alle Elementnamen, wie und Attributnamen.

Die ursprüngliche Absicht für XML-Gehäuse war Kleinbuchstaben mit Bindestrichen. Es ist Groß- und Kleinschreibung nicht erforderlich Sie diese Konvention folgen - so können Sie tun, was Sie wollen. Ich habe keine Zitate, sorry.

Ich würde nicht sagen, HTML „kanonisch“ Groß verwendet. Ich denke, ursprünglich Groß visuell getrennten HTML aus dem Inhalt leichter verwendet wurde. Mit Syntax heute hervorheben, das ist einfach nicht notwendig.

ich in Richtung Klein veer, mit Bindestrichen, falls erforderlich (schnelles eingeben, auch). Fall in XML Mischen fühlt sich einfach falsch zu mir.

Camel Fall bekommt meine Stimme.

Als Beispiele angeführt, um vielleicht kann diese Frage kommen werden, um die Verbindung Menschen nennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top