Что значит i: nil = "true"? - PullRequest
       36

Что значит i: nil = "true"?

55 голосов
/ 21 января 2009

У меня есть xml, и в нем есть узлы с i: nil = "true". Что это значит?

Например:

<FirstName i:nil="true" />

Означает ли это что-то отличное от:

<FirstName />

Если так, то в чем разница?

Ответы [ 3 ]

93 голосов
/ 21 января 2009

Это означает, что FirstName имеет значение null

<FirstName i:nil="true" />

Это означает FirstName = ""

<FirstName />

Предположение, сделанное для FirstName, имеет строковый тип.

12 голосов
/ 21 января 2009

Может быть, i:nil на самом деле означает xsi:nil, это означает, что элемент FirstName пуст, т.е. не имеет никакого содержимого - даже "". Это относится к свойству nillable в XML-схеме.

5 голосов
/ 21 января 2009

nil - это атрибут, определенный в пространстве имен i. Для этого узла FirstName атрибут имеет значение true.

Это похоже на это, только с разными именами и значениями:

<form name="test">...

Здесь form - это имя узла, аналогичное FirstName из вашего кода, а name - атрибут со значением «test», аналогичный вашему атрибуту nil со значением "истинный".

Что это означает, зависит от приложения, читающего XML-документ.

Если бы я рискнул предположить, я бы сказал, что это похоже на часть документа xml, определяющего какую-то схему, и что поле FirstName может иметь значение NULL или nil, означающее пустое или неизвестное .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...