it-swarm.dev

Cosa significa i: nil = "true"?

Ho un XML e ha nodi con i: nil = "true" in esso. Cosa significa?

Per esempio:

<FirstName i:nil="true" />

Significa qualcosa di diverso da:

<FirstName />

In tal caso, qual è la differenza?

56
dtc

Ciò significa che FirstName è null

<FirstName i:nil="true" />

Questo significa FirstName = ""

<FirstName />

Il presupposto fatto su FirstName è di tipo stringa.

96
Ray Lu

Può essere i:nil in realtà significa xsi:nil, questo significa che l'elemento FirstName è vuoto, cioè non ha alcuno contenuto - nemmeno "". Fa riferimento alla proprietà nillable nello schema XML.

12
Torsten Marek

nil è un attributo, definito nello spazio dei nomi i. Per questo nodo FirstName, l'attributo ha il valore true.

È simile a questo, solo con nomi e valori diversi:

<form name="test">...

Qui, form è il nome del nodo, simile a FirstName dal tuo codice, e name è un attributo con un valore di "test", simile al tuo attributo nil con un valore "true".

Cosa significa dipende dall'applicazione che legge il documento XML.

Se dovessi avventurarmi in un'ipotesi, direi che questo fa parte di un documento XML che definisce un tipo di schema e che il campo FirstName può avere un valore NULL o nil, che significa vuoto o sconosciuto .