'What does i:nil="true" mean?
I have an xml and it has nodes with i:nil="true" in it. What does that mean?
For example:
<FirstName i:nil="true" />
Does that mean something different than:
<FirstName />
If so, what is the difference?
Solution 1:[1]
Maybe i:nil actually means xsi:nil, this means that the FirstName element is empty, i.e. does not have any content -- not even "". It refers to the nillable property in XML Schema.
Solution 2:[2]
nil is an attribute, defined in the i namespace. For this FirstName node, the attribute has the value true.
It's similar to this, just with different names and values:
<form name="test">...
Here, form is the name of the node, similar to FirstName from your code, and name is an attribute with a value of "test", similar to your attribute nil with a value of "true".
What this means depends on the application reading the xml document.
If I were to venture a guess, I'd say that this looks like part of a xml document defining some kind of schema, and that the FirstName field can have a NULL or nil value, meaning empty, or unknown.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Torsten Marek |
| Solution 2 | Lasse V. Karlsen |
