Domanda

Ci sono dei formale raccomandazioni sulla carcassa elemento in XML?

Lo so XHTML usa nomi di elementi minuscoli (a differenza di HTML che usa canonicamente maiuscolo ma è case-insensitive).

Ma io sto parlando di XML per i contenuti generici.

minuscole:

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

camelCase:

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

PascalCase:

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

MAIUSCOLO:

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

Nota: che sto cercando le linee guida citate, piuttosto che opinioni. Ma il parere con le più up-voto può essere considerato una linea guida.

È stato utile?

Soluzione

La maggior parte standard XML provenienti dal W3C tendono ad usare lettere minuscole con trattini.

C'è una distinzione filosofica tra vedere XML come formato per i documenti piattaforma neutrale, che gli standard W3C cercare di incoraggiare, e lingue come il XAML che vedono XML come una serializzazione di uno specifico oggetto grafico della piattaforma.

Se non si utilizza XML come formato di documento neutra piattaforma, ma come serializzazione specifica applicazione, allora si potrebbe anche risparmiare un po 'fastidio e hanno un 1: 1 corrispondenza tra i nomi XML ei nomi specifici di piattaforma. Ma quasi qualsiasi altro formato oggetto grafico è migliore di XML per questo scopo.

Se si, allora si potrebbe desiderare di adattarsi con XHTML, XSLT, SVG, XProc, RelaxNG e il resto.

Altri suggerimenti

Non che sia importante, ma io sono sempre stato parziale PascalCase per Elementi e camelCase per gli attributi:

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

Non c'è raccomandazione formale.

Dal momento che XML è stato progettato con le finalità gemelle di che tiene i documenti e lo scambio di informazioni tra i diversi sistemi , è stato progettato in modo da essere in grado di incontro le applicazioni di utilizzarlo.

Net XML tende ad usare ProperCasing (testimone XAML), mentre altri XML utilizzerà camelCasing, python_conventions, dot.naming, e persino COBOL-CONVENZIONI. Il W3C sembra come minuscole-con-trattini-abbastanza-a-bit (ad esempio XSLT) o justlowercasewordssmashedtogether (ad esempio MathML).

Mi piace tutto in minuscolo e senza sottolineature, dal momento che significa meno uso del tasto [Shift], e le mie dita sono un po 'pigro. :)

Per aggiungere alla risposta di Metro Smurf.

Il modello di scambio di informazioni Nazionale (NIEM: http://en.wikipedia.org/wiki/National_Information_Exchange_Model ) dice da usare:

  • Alta CamelCase (PascalCase) per gli elementi.
  • (inferiore) camelCase per gli attributi.

Il NIEM fa per una buona opzione quando stai cercando di conformarsi a un certo standard.

Vedere la rel="nofollow / CEFACT Naming XML delle Nazioni Unite e design Le regole Specification Version 3.0 pagina 23 per alcune regole di esempio utilizzate in diversi standard.

Specifiche (da pagina 23 della versione 3.0 del 17 dicembre 2009):

  • LowerCamelCase (LCC) deve essere utilizzato per la denominazione attributi.
  • UpperCamelCase (UCC) deve essere utilizzato per gli elementi ed i tipi di denominazione.
  • nomi
  • elemento, attributo e tipo deve essere in forma singolare, a meno che il concetto stesso è plurale.

( l'altro collegamento, sito svedese )

Per espandere il mio commento sopra : l'uso di 'minuscole con trattini' ha qualche problema in XSLT. In particolare, è facile confondere un nodo denominato, per esempio, 'anno-da-eta' con una formula 'anno - eta'. (Ad esempio, sottrarre l'età di anno)

Come @KarlKieninger sottolinea, questo è solo un problema a livello umano e non per il parser XSLT. Tuttavia, poiché questo spesso non produce un errore , utilizzando 'minuscola con trattini' come standard è in cerca di guai, IMHO.

Alcuni esempi pertinenti:

<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

Nel codice di cui sopra, è necessario mettere almeno uno spazio prima di un operatore di sottrazione, ma non v'è tale requisito di un operatore di addizione.

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

a meno di notare come confondere quanto sopra è da leggere!

<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

La presenza di un unico spazio cambia l'uscita di cui sopra, ma nessuno variante è un errore.

di Google guida di stile consiglia (forse anche mandati) camelCase per tutti i nomi degli elementi, come così come i nomi degli attributi.

L'intento originale per la cassa XML era minuscolo con trattini. E 'case sensitive e non richiede di seguire questa convenzione - in modo da poter fare quello che vuoi. Non ho citazioni, mi dispiace.

Non direi HTML "canonicamente" utilizza lettere maiuscole. Credo che in origine maiuscolo è stata utilizzata per HTML visivamente separato dal contenuto più facilmente. Con evidenziazione della sintassi al giorno d'oggi, questo è solo non è necessario.

I virare verso minuscola, con trattini se necessario (più veloce a digitare, troppo). caso di miscelazione in XML sente solo sbagliato per me.

caso cammello ottiene il mio voto.

Per quanto riguarda citato esempi forse questa domanda si può venire il collegamento le persone citano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top