it-swarm.com.de

Gibt es eine Standardbenennungskonvention für XML-Elemente?

Gibt es de facto oder anderweitig einen Standard für XML-Dokumente? Was ist zum Beispiel die "beste" Art, ein Tag zu schreiben?

<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />

Ebenso, wenn ich einen Aufzählungswert für ein Attribut habe, das besser ist

<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
90
tpower

Ich vermute, die häufigsten Werte wären camelCased - d. H.

<myTag someAttribute="someValue"/>

Insbesondere verursachen die Leerzeichen einige Störungen, wenn sie mit Codegeneratoren gemischt werden (d. H. Um XML für Objekte zu [de] serialisieren), da nicht viele Sprachen Aufzählungen mit Leerzeichen zulassen (was eine Zuordnung zwischen den beiden erfordert).

42
Marc Gravell

XML-Benennungsregeln

XML-Elemente müssen folgenden Namensregeln folgen:

    - Element names are case-sensitive 
    - Element names must start with a letter or underscore
    - Element names cannot start with the letters xml(or XML, or Xml, etc) 
    - Element names can contain letters, digits, hyphens, underscores, and periods 
    - Element names cannot contain spaces

Jeder Name kann verwendet werden, keine Wörter sind reserviert (außer xml).

Beste Benennungspraktiken

    - Create descriptive names, like this: <person>, <firstname>, <lastname>.
    - Create short and simple names, like this: <book_title> not like this: <the_title_of_the_book>.
    - Avoid "-". If you name something "first-name", some software may think you want to subtract "name" from "first".
    - Avoid ".". If you name something "first.name", some software may think that "name" is a property of the object "first".
    - Avoid ":". Colons are reserved for namespaces (more later).
    - Non-English letters like éòá are perfectly legal in XML, but watch out for problems if your software doesn't support them.

Stile benennen

Für XML-Elemente sind keine Namensstile definiert. Aber hier sind einige häufig verwendete:

    - Lower case    <firstname> All letters lower case
    - Upper case    <FIRSTNAME> All letters upper case
    - Underscore    <first_name>    Underscore separates words
    - Pascal case   <FirstName> Uppercase first letter in each Word
    - Camel case    <firstName> Uppercase first letter in each Word except the first

referenz http://www.w3schools.com/xml/xml_elements.asp

25
Farhad Maleki

Für mich ist es, als würde man den Codestil für eine Programmiersprache diskutieren: Einige werden für einen Stil argumentieren, andere werden eine Alternative verteidigen. Der einzige Konsens, den ich sah, ist: "Wähle einen Stil und sei konsequent"!

Ich stelle nur fest, dass viele XML-Dialekte nur Kleinbuchstaben verwenden (SVG, Ant, XHTML ...).

Ich erhalte die Regel "Keine Leerzeichen in Attributwerten" nicht. Irgendwie sendet es an die Debatte "Was in Attribute und was als Text zu setzen?".
Vielleicht sind dies nicht die besten Beispiele, aber es gibt einige bekannte XML-Formate, die Leerzeichen in Attributen verwenden:

  • XHTML, insbesondere Klassenattribut (Sie können zwei oder mehr Klassen setzen) und natürlich Alt- und Titelattribute.
  • SVG, zum Beispiel mit dem Attribut d des Pfad-Tags.
  • Beide mit Stilattribut ...

Ich verstehe die Argumente gegen diese Praxis nicht vollständig (sie scheinen nur für einige Verwendungszwecke zu gelten), aber sie ist zumindest legal und wird ziemlich häufig verwendet. Anscheinend mit Nachteilen.

Oh, und Sie brauchen kein Leerzeichen vor dem automatisch schließenden Schrägstrich. :-)

13
PhiLho

Ich bevorzuge TitleCase für Elementnamen und camelCase für Attribute. Auch keine Leerzeichen.

<AnElement anAttribute="Some Value"/>

Nebenbei habe ich schnell nach Best Practices in XML gesucht und mir diesen interessanten Link ausgedacht: XML-Schemata: Best Practices .

12
Raithlin

Es ist subjektiv, aber wenn ein Element-Tag zwei Wörter enthält, kann die Lesbarkeit verbessert werden, indem ein Unterstrich zwischen den Wörtern eingefügt wird (z. B. <my_tag>) anstatt kein Trennzeichen zu verwenden. Referenz: http://www.w3schools.com/xml/xml_elements.asp . Also laut w3schools wäre die Antwort:

<my_tag attribute="some value">

Der Wert muss weder einen Unterstrich noch ein Trennzeichen enthalten, da in Attributwerten Leerzeichen zulässig sind, nicht jedoch in Element-Tag-Namen.

8
alistair

Ich würde eher Kleinbuchstaben oder Kamelbuchstaben Tags bevorzugen und da Attribute normalerweise Datenwerte widerspiegeln sollten - nicht Inhalte - würde ich mich an einen Wert halten, der als Variablenname in verwendet werden könnte Welche Plattform/Sprache auch interessiert sein mag, dh Leerzeichen vermeiden, aber die anderen beiden Formen könnten in Ordnung sein

8
annakata

Viele dokumentenzentrierte XML-Dialekte verwenden einfache lateinische und Bindestriche in Kleinbuchstaben. Ich neige dazu, damit zu gehen.

Codegeneratoren, die XML direkt auf Programmiersprachen-IDs abbilden, sind spröde und sollten (mit Ausnahme der naiven Objektserialisierung wie XAML) in portablen Dokumentformaten vermieden werden. Für eine bestmögliche Wiederverwendung und Langlebigkeit der Informationen sollte das XML versuchen, mit der Domäne übereinzustimmen, nicht mit der Implementierung.

7
Pete Kirkham

rss ist wahrscheinlich eines der meistverwendeten XML-Schemas der Welt und es ist camelCased.

Spec ist hier: http://cyber.law.harvard.edu/rss/rss.html

Zugegeben, es enthält keine Knotenattribute im Schema, aber alle Namen der Knotenelemente sind camelCased. Beispielsweise:

lastBuildDate managingEditor pubDate

3
evermeire

Normalerweise richte ich XML-Namenskonventionen mit denselben Namenskonventionen in anderen Codeteilen aus. Der Grund dafür ist, dass beim Laden der XML-Datei in Object die Attribute und Elementnamen auf dieselbe im Projekt derzeit verwendete Namenskonvention bezogen werden können.

Wenn Sie beispielsweise JavaScript mit camelCase verwenden, verwendet Ihre XML-Datei auch camelCase.

2
micksatana

Microsoft schließt sich zwei Konventionen an:

  1. Für Konfiguration verwendet Microsoft camelCase. Sehen Sie sich die Visual Studio-Konfigurationsdatei an. Für VS2013 ist es gespeichert in:

    C:\Programme (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config

Beispiel:

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
  1. Microsoft verwendet auch pperCase für ihre XAML. Ich denke, es ist zu unterscheiden von HTML (die Kleinbuchstaben verwendet).

Beispiel:

<MenuItem Header="Open..." Command="ApplicationCommands.Open">
    <MenuItem.Icon>
        <Image Source="/Images/folder-horizontal-open.png" />
    </MenuItem.Icon>
</MenuItem>
2
Jeson Martajaya

Es gibt keine explizite Empfehlung. Basierend auf einer anderen Empfehlung von W3C, der für XHTML , habe ich mich für Kleinbuchstaben entschieden:

4.2. Element- und Attributnamen müssen in Kleinbuchstaben angegeben werden

XHTML-Dokumente müssen für alle HTML-Element- und Attributnamen Kleinbuchstaben verwenden. Dieser Unterschied ist notwendig, da bei XML zwischen Groß- und Kleinschreibung unterschieden wird, z. <li> und <LI> sind unterschiedliche Tags.

1
Diego Menta

Ich habe viel nach einem guten Ansatz gesucht, auch diesen Thread und einige andere gelesen und ich würde für mit Bindestrichen stimmen.

Sie werden häufig in ARIA ( https://developer.mozilla.org/de/docs/Web/Barrierefreiheit/ARIA ) verwendet, was in vielen Quellcodes vorkommt und daher häufig vorkommt. Wie hier bereits erwähnt, sind sie natürlich erlaubt, was auch hier erklärt wird: sing - in XML element name

Ebenfalls ein Nebeneffekt: Wenn Sie HTML in Kombination mit CSS schreiben, haben Sie häufig Klassen, deren Namen standardmäßig auch Bindestriche als Trennzeichen verwenden. Wenn Sie nun benutzerdefinierte Tags haben, die CSS-Klassen oder benutzerdefinierte Attribute für Tags verwenden, die CSS-Klassen verwenden, dann ist etwa Folgendes möglich:

<custom-tag class="some-css-class">

ist konsistenter und liest sich - meiner bescheidenen Meinung nach - viel netter als:

<customTag class="some-css-class">

0
IceFire

XML-Benennungsregeln

XML-Elemente müssen folgenden Namensregeln folgen:

  • Namen können Buchstaben, Zahlen und andere Zeichen enthalten
  • Namen dürfen nicht mit einer Zahl oder einem Interpunktionszeichen beginnen
  • Namen dürfen nicht mit den Buchstaben xml (oder XML oder Xml usw.) beginnen
  • Namen dürfen keine Leerzeichen enthalten. Es kann ein beliebiger Name verwendet werden. Es sind keine Wörter reserviert.

Quelle: W3-Schule

0
petermeissner