Czy istnieje jakiś standard, de facto lub inny, dla dokumentów XML? Na przykład, jaki jest „najlepszy” sposób pisania tagu?
<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
Podobnie, jeśli mam wyliczoną wartość atrybutu, który jest lepszy
<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
xml
coding-style
naming-conventions
tpower
źródło
źródło
Odpowiedzi:
Podejrzewam, że najczęstszymi wartościami byłyby camelCased - tj
<myTag someAttribute="someValue"/>
W szczególności spacje powodują kilka błędów, jeśli są mieszane z generatorami kodu (tj. W celu [de] serializacji xml do obiektów), ponieważ niewiele języków pozwala na wyliczenia ze spacjami (wymagające mapowania między nimi).
źródło
Reguły nazewnictwa XML
Elementy XML muszą być zgodne z następującymi regułami nazewnictwa:
Można użyć dowolnej nazwy, żadne słowa nie są zastrzeżone (z wyjątkiem xml).
Najlepsze praktyki nazewnicze
- 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.
Nazewnictwo stylów
Nie ma zdefiniowanych stylów nazewnictwa dla elementów XML. Ale oto kilka powszechnie używanych:
- 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
odniesienie http://www.w3schools.com/xml/xml_elements.asp
źródło
Dla mnie jest to jak dyskusja o stylu kodu w języku programowania: niektórzy będą opowiadać się za stylem, inni będą bronić alternatywy. Jedyny konsensus, jaki widziałem, to: „Wybierz jeden styl i bądź konsekwentny”!
Zauważyłem tylko, że wiele dialektów XML używa tylko małych liter (SVG, Ant, XHTML ...).
Nie widzę reguły „brak spacji w wartościach atrybutów”. W jakiś sposób wysyła do debaty „co umieścić w atrybutach, a co jako tekst?”.
Może to nie są najlepsze przykłady, ale jest kilka dobrze znanych formatów XML używających spacji w atrybutach:
Nie do końca rozumiem argumenty przeciwko tej praktyce (wydaje się, że dotyczy to tylko niektórych zastosowań), ale jest ona przynajmniej legalna i dość szeroko stosowana. Najwyraźniej z wadami.
Aha, i nie potrzebujesz spacji przed automatycznie zamykającym ukośnikiem. :-)
źródło
Preferuję TitleCase dla nazw elementów i camelCase dla atrybutów. Brak miejsca na to.
<AnElement anAttribute="Some Value"/>
Na marginesie, szybko wyszukałem najlepsze praktyki w XML i znalazłem to dość interesujące łącze: schematy XML: najlepsze praktyki .
źródło
Preferowałbym małe lub wielbłądy znaczniki, a ponieważ atrybuty powinny zazwyczaj odzwierciedlać wartości danych - a nie treść - trzymałbym się wartości, która mogłaby być używana jako nazwa zmiennej na dowolnej platformie / języku, tj. Unikać spacji, ale innych dwie formy mogą być w porządku
źródło
Jest to subiektywne, ale jeśli w tagu elementu znajdują się dwa słowa, czytelność można poprawić, dodając podkreślenie między słowami (np.
<my_tag>
) Zamiast używania separatora. Źródła: http://www.w3schools.com/xml/xml_elements.asp . Tak więc według w3schools odpowiedź byłaby:<my_tag attribute="some value">
Wartość nie musi zawierać podkreślenia ani separatora, ponieważ dozwolone są spacje w wartościach atrybutów, ale nie w nazwach znaczników elementów.
źródło
Wiele dialektów XML skoncentrowanych na dokumentach używa podstawowych liter łacińskich i myślników. Mam tendencję do tego.
Generatory kodu, które mapują XML bezpośrednio na identyfikatory języka programowania, są kruche i (z wyjątkiem naiwnej serializacji obiektów, takiej jak XAML) należy unikać w przenośnych formatach dokumentów; w celu najlepszego ponownego wykorzystania i trwałości informacji XML powinien być dopasowany do domeny, a nie do implementacji.
źródło
rss jest prawdopodobnie jednym z najczęściej używanych schematów XML na świecie i jest to camelCased.
Specyfikacja jest tutaj: http://cyber.law.harvard.edu/rss/rss.html
To prawda, że nie ma atrybutów węzłów w schemacie, ale wszystkie nazwy elementów węzłów to camelCased. Na przykład:
lastBuildDate managementEditor pubDate
źródło
Zwykle dostosowuję konwencję nazewnictwa XML do tej samej konwencji nazewnictwa w innych częściach kodu. Powodem jest to, że kiedy ładuję XML do Object, jego atrybuty i nazwy elementów mogą być określane jako ta sama konwencja nazewnictwa, która jest obecnie używana w projekcie.
Na przykład, jeśli twój javascript używa camelCase, wtedy twój XML również używa camelCase.
źródło
Microsoft stosuje dwie konwencje:
Do konfiguracji firma Microsoft używa camelCase . Spójrz na plik konfiguracyjny programu Visual Studio. W przypadku VS2013 jest przechowywany w:
C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe.config
Przykład:
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup>
Przykład:
<MenuItem Header="Open..." Command="ApplicationCommands.Open"> <MenuItem.Icon> <Image Source="/Images/folder-horizontal-open.png" /> </MenuItem.Icon> </MenuItem>
źródło
Nie ma wyraźnych zaleceń. Opierając się na innych zaleceniach W3C, dotyczących XHTML , wybrałem małe litery:
źródło
Reguły nazewnictwa XML
Elementy XML muszą być zgodne z następującymi regułami nazewnictwa:
Źródło: Szkoła W3
źródło
Dużo szukałem dobrego podejścia, czytając również ten wątek i kilka innych i zagłosowałbym za użyciem łączników .
Są szeroko stosowane w ARIA ( https://developer.mozilla.org/de/docs/Web/Barrierefreiheit/ARIA ), które można zobaczyć w wielu kodach źródłowych i dlatego są powszechne. Jak już wspomniano, są one z pewnością dozwolone, co również wyjaśniono tutaj: Używanie - w nazwie elementu XML
Dodatkowa korzyść: pisząc HTML w połączeniu z CSS, często masz klasy, których nazwy również domyślnie używają myślników jako separatorów. Teraz, jeśli masz niestandardowe tagi, które używają klas CSS lub niestandardowe atrybuty dla tagów, które używają klas CSS, to coś takiego:
<custom-tag class="some-css-class">
jest bardziej spójny i czyta - moim skromnym zdaniem - o wiele ładniejszy niż:
<customTag class="some-css-class">
źródło