Buone abbreviazioni per XML ... cose

4

Non sono mai stato molto bravo a mantenere un gruppo coerente di nomi di variabili per l'interfacciamento con file XML perché non ho mai chiamato le variabili nelle mie interfacce nello stesso modo attraverso la mia fonte.

Ci sono Elementi, Attributi, Documenti, NodeList, Nodi, DocumentFragments e altre cose. Qual è un buon schema per tenere traccia di queste cose come variabili?

Esiste uno standard in merito alla notazione ungherese? Metti anche qualcosa che significa che i dati sono in realtà XML, è questa cattiva pratica?

Inoltre, qual è la differenza tra il modo in cui si definiscono le costanti (che indicano Spazi dei nomi, Elementi e Nomi degli attributi) e le variabili (che indicano Spazi dei nomi, Elementi, Attributi, Nodi, Elenchi dei nodi e Documenti)

    
posta Peter Turner 17.01.2011 - 19:12
fonte

2 risposte

4

Non è chiaro se stai chiedendo informazioni sulle variabili che usi nel codice per contenere i valori recuperati da un file XML o sulle variabili usate per riferirsi a parti del file stesso. Nel primo caso, non vedo perché ti interessi che i dati provengano da XML, ad esempio, da un database.

In quest'ultimo caso, ho definito le costanti per fare riferimento ai vari elementi e attributi, per mantenere i valori letterali fuori dal mio codice. Le costanti per gli elementi iniziano tutte con EL_ , gli attributi iniziano tutti con AT_ e gli spazi dei nomi iniziano tutti con NS_ . Queste sono davvero le uniche tre cose a cui posso accedere per nome. Se ci sono più classi che devono accedere alle stesse strutture XML, le costanti vengono spostate in una classe di supporto comune.

Ovviamente, ciò porta ad alcune bruttezze altrove. Ad esempio, la costruzione di espressioni XPath al di fuori di quelle costanti è meno chiara (credo) rispetto ai letterali. E devi assicurarti che le costanti e le eventuali convalide esterne (come DTD o Schema) rimangano sincronizzate.

    
risposta data 17.01.2011 - 19:34
fonte
3

Personalmente uso nomi come

docNode, rootElem, customAttr
e simili. Non c'è sicuramente un metodo per questo in Notazione ungherese perché sono tutti oggetti diversi e le loro implementazioni possono essere molto diverse tra i vari pacchetti XML, a differenza di un booleano.     
risposta data 17.01.2011 - 19:31
fonte

Leggi altre domande sui tag