Elementų pavadinimai?

Ar yra kokių nors formalių gairių, kaip sudėti elementus į XML?

Žinau, kad XHTML naudoja mažų raidžių pavadinimus (skirtingai nei HTML, kurie kanoniškai naudoja didžiosios raidės, bet nėra didžiosios ir mažosios raidės).

Bet aš kalbu apie XML bendrai naudojamą turinį.

mažosios:

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

kupranugaris:

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

PascalCase:

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

UPPER:

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

Pastaba Aš ieškau nuorodų, o ne nuomonių. Tačiau nuomonė su dauguma balsų gali būti laikoma gidu.

99
02 июля '09 в 16:48 2009-07-02 16:48 Ian Boyd nustatė liepos 02'09, 16:48 2009-07-02 16:48
@ 10 atsakymų

Dauguma XML standartų, pagrįstų W3C, paprastai naudoja mažąsias raides su brūkšneliais.

Yra filosofinis skirtumas tarp atstovavimo XML kaip platformos neutralių dokumentų formato, kurį W3C standartai bando reklamuoti, ir kalbų, tokių kaip XAML, kurios XML mato kaip platformos specifinio objekto grafiko serializaciją.

Jei nenaudojate XML kaip platformos neutralaus dokumento formato, bet kaip konkrečios programos serializavimo, tada galite išsaugoti sau tam tikrą susirūpinimą ir turėti 1: 1 atitikmenį tarp XML pavadinimų ir platformos specifinių pavadinimų. Tačiau beveik bet kuris kitas objektų grafiko formatas yra geresnis už XML.

Jei taip, galbūt norėsite prisitaikyti prie XHTML, XSLT, SVG, XProc, RelaxNG ir kt.

78
02 июля '09 в 18:18 2009-07-02 18:18 atsakymą pateikė Pete Kirkham liepos 2 d. 09:18 18:18 2009-07-02 18:18

Nesvarbu, bet aš visada buvau dalinis už PascalCase for Elements ir camelCase atributams:

 <Root> <ParentElement attributeId="1"> <ChildElement attributeName="foo" /> </ParentElement> </Root> 
54
02 июля '09 в 16:59 2009-07-02 16:59 atsakymą pateikė „ Metro Smurf“ liepos 2 d. 09:16 16:59 2009-07-02 16:59

Nėra oficialios rekomendacijos.

Kadangi XML buvo sukurtas su dviem tikslais saugoti dokumentus ir keistis informacija tarp skirtingų sistemų, jis buvo sukurtas taip, kad atitiktų programas, kurios ją naudoja.

Taigi XML XML linkęs naudoti „ProperCasing“ („XAML“ sertifikatą), o kiti XML naudos camelCasing, python_convention, dot.naming ir net COBOL-CONVENTIONS. Atrodo, kad W3C yra panašus į mažąsias raides su brūkšniu - gana bitu (pvz., XSLT) arba tik keliomis sekundėmis (pvz., MathML).

Man patinka visa mažoji dėžutė ir tai nėra pabrėžta, nes tai reiškia mažiau [Shift] klavišo naudojimą, o mano pirštai yra šiek tiek tingūs. :)

28
02 июля '09 в 17:06 2009-07-02 17:06 atsakymą pateikė lavinio liepa 02'09 , 17:06 2009-07-02 17:06

Pridėkite atsakymus „Metro Smurf“.

Nacionalinis informacijos mainų modelis (NIEM: http://en.wikipedia.org/wiki/National_Information_Exchange_Model ) sako:

  • Pagrindinis elementas yra „CamelCase“ („PascalCase“) elementams.
  • (žemiau) camelCase atributams.

NIEM yra geras pasirinkimas, jei norite atitikti standartą.

23
19 мая '12 в 14:30 2012-05-19 14:30 atsakymą pateikė Koert van Kleef gegužės 19 d., 12 val. 2:30 val. 2012-05-19 14:30

Kai kurių taisyklių, naudojamų keliuose standartuose, pavyzdžius, žr. XML pavadinimų ir dizaino taisyklių versijos pavadinimo ir projektavimo taisyklių techninę specifikaciją 3.0 p. 23. p>

Funkcijos (nuo 2009 m. Gruodžio 17 d. 3.0 versijos 23 puslapio):

  • Žemutinės kameros (LCC) funkcija turi būti naudojama atributams žymėti.
  • „UpperCamelCase“ (UCC) turi būti naudojamas elementams ir tipams žymėti.
  • Elementai, atributai ir tipo pavadinimai turi būti vienoje formoje, nebent pati sąvoka yra daug.

( kita nuoroda, švedų svetainė )

12
29 июня '10 в 19:46 2010-06-29 19:46 atsakymą pateikė oluies, birželio 29 d., 10 d., 19:46, 2010-06-29 19:46

„Google“ stiliaus vadovas rekomenduoja (galbūt netgi mandatus) camelCase visiems elementų pavadinimams, taip pat atributų pavadinimus.

8
24 апр. atsakymas pateikiamas kencordero 24 balandžio. 2013-04-24 20:56 '13, 08:56 pm 2013-04-24 20:56

Norėdami išplėsti savo komentarą : „mažųjų raidžių su brūkšneliais“ naudojimas turi tam tikrų problemų XSLT. Visų pirma, lengva suklaidinti mazgą, vadinamą „kiekvienais metais“ su formuluote „metų amžius“ (pvz., Atimties amžius nuo metų).

Kaip pažymėjo @KarlKieninger, tai yra tik žmogiškojo lygio problema, o ne XSLT analizavimas. Tačiau, kadangi tai dažnai nesukelia klaidų , naudojant „mažąsias raides su brūkšneliais“, kaip reikalauja standartas, IMHO.

Kai kurie tinkami pavyzdžiai:

 <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="ab"/> DOES NOT ERROR, BUT OUTPUTS NOTHING AT ALL 

Pirmiau pateiktame kode prieš atimties operatorių turite įdėti bent vieną erdvę, tačiau papildomo operatoriaus atveju tokio reikalavimo nėra.

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

Tačiau atkreipkite dėmesį į tai, kaip supainioti pirmiau minėtus dalykus!

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

Vienos vietos keitimas pakeičia išvestį, bet nė viena iš parinkčių nėra klaida.

8
21 сент. Atsakymą pateikė Richard Kennard 21 rugsėjis. 2013-09-21 06:26 '13, 6:26 am 2013-09-21 06:26

Pradinis XML korpuso ketinimas buvo mažosiomis brūkšnelėmis. Jis yra jautrus šiai bylai ir nereikalauja, kad jūs laikytumėte šio susitarimo, kad galėtumėte daryti viską, ką norite. Aš neturiu kabučių, atsiprašau.

4
02 июля '09 в 18:22 2009-07-02 18:22 atsakymą pateikė Adomas Luteris liepos 02 '09, 18:22 2009-07-02 18:22

Nenorėčiau pasakyti, kad HTML "kanoniškai" naudoja didžiosios raidės. Manau, kad pradinės didžiosios raidės buvo naudojamos paprastesniam vizualiam HTML pasirinkimui iš turinio. Sintaksės paryškinimas šiuo metu tiesiog nėra būtinas.

Aš pasuksiu apatinio registro kryptimi, jei reikia, dekoduoti (greičiau ir tyliau). Maišymas XML sistemoje man atrodo klaidingas.

1
06 июля '09 в 15:54 2009-07-06 15:54 atsakymas duotas „ DisgruntledGoat“ liepos 06 d., 09:54, 2009-07-06 15:54

Kamielio atvejis gauna mano balsą.

Kalbant apie minėtus pavyzdžius, galbūt šis klausimas gali patekti į nuorodą, kurią nurodo žmonės.

-2
02 июля '09 в 16:53 2009-07-02 16:53 Atsakymą pateikė AnthonyWJones liepos 02'09 , 16:53 2009-07-02 16:53

Kiti klausimai, susiję su „ žymenų žymomis, arba Užduoti klausimą