web-dev-qa-db-ja.com

i:nil = "true"はどういう意味ですか?

Xmlがあり、i:nil = "true"のノードが含まれています。どういう意味ですか?

例えば:

<FirstName i:nil="true" />

それは何か違うことを意味しますか:

<FirstName />

もしそうなら、違いは何ですか?

56
dtc

これは、FirstNameがnullであることを意味します

<FirstName i:nil="true" />

これは、FirstName = ""を意味します

<FirstName />

FirstNameで行われた仮定は文字列型です。

96
Ray Lu

多分 i:nilは実際にはxsi:nil、これはFirstName要素が空、つまりany content-not ""。 XMLスキーマのnillableプロパティを参照します。

12
Torsten Marek

nilは、i名前空間で定義された属性です。このFirstNameノードの場合、属性の値はtrueです。

名前と値が異なるだけで、これに似ています。

<form name="test">...

ここで、formはコードのFirstNameに似たノードの名前であり、nameは値が「true」の属性nilに似た「test」の値を持つ属性です。

これが意味することは、XMLドキュメントを読み取るアプリケーションによって異なります。

私が推測に挑戦した場合、これはある種のスキーマを定義するxml文書の一部のように見え、FirstNameフィールドはNULLまたはnil値を持つことができ、空または不明を意味します。