62 votes

Que signifie i:nil="true" ?

J'ai un fichier xml et il contient des nœuds avec i:nil="true". Qu'est-ce que cela signifie ?

Par exemple :

<FirstName i:nil="true" />

Est-ce que ça veut dire quelque chose de différent que :

<FirstName />

Si oui, quelle est la différence ?

108voto

codemeit Points 9327

Cela signifie que FirstName est nul

<FirstName i:nil="true" />

Cela signifie que FirstName = ""

<FirstName />

La supposition faite sur FirstName est de type chaîne de caractères.

0 votes

Je suis d'accord. J'ai déjà vu ça avant. +1

4 votes

Selon quelle norme ? Si FirstName était "", le document serait <FirstName></FirstName>, ce qui n'est pas la même chose que <FirstName /> (le premier n'est pas canonisé vers le second).

16 votes

<Prénom></FirstName> === <Prénom />

13voto

Torsten Marek Points 27554

Peut-être i:nil signifie en fait xsi:nil ce qui signifie que le FirstName est vide, c'est-à-dire qu'il n'a pas d'élément cualquier contenu - même pas "" . Il s'agit de la nillable dans le schéma XML.

10 votes

xsi n'a pas de sens en soi. C'est juste un préfixe d'espace de nom. Très probablement, il est défini comme la même chose que xsi est généralement défini comme suit : http://www.w3.org/2001/XMLSchema-instance

5voto

Lasse V. Karlsen Points 148037

Nil est un attribut, défini dans le fichier i espace de noms. Pour ce nœud FirstName, l'attribut a pour valeur true .

C'est similaire à ceci, mais avec des noms et des valeurs différents :

<form name="test">...

Ici, form est le nom du nœud, similaire à FirstName de votre code, et name est un attribut avec une valeur de "test", similaire à votre attribut nil avec une valeur de "true".

Ce que cela signifie dépend de l'application qui lit le document xml.

Si je devais me risquer à une supposition, je dirais que cela ressemble à une partie d'un document xml définissant une sorte de schéma, et que le champ FirstName peut avoir une valeur NULL ou nil valeur, ce qui signifie vide, ou inconnu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X