What does i:nil="true" mean?
Solution 1:
This means FirstName is null
<FirstName i:nil="true" />
This means FirstName = ""
<FirstName />
Assumption made on FirstName is of string type.
Solution 2:
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 3:
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.