Xsi nil true что означает

от admin

Xsi nil true что означает

Lawnmower — один из продуктов в заказе на покупку, которые перечисленные в po . xml , не имеет элемента shipDate . В пределах контекста нашего сценария, автор схемы может преднамеренно пропустить указание элементов item , которые еще не отправлены. Но вообще, пропуск элемента не имеет никакого особого смысла. Это может лишь указывать, что информация — неизвестна, неподходящая, или есть какая-либо другая причина, по которой элемент может отсутствовать. Иногда предпочтительнее представить сведения о неотправленном продукте ( item ) , неизвестную информацию, или информацию явно с элементом не связанную, чем пропустить элемент. Например, желательно указывать значение " null " для элементов, которые посылаются или извлекаются из реляционных баз данных. Такие случаи могут быть представлены, используя nil механизм XML Schema , который дает возможность элементу появляться как с нулевым, так и ненулевым значением.

Nil механизм XML Schema подразумевает нулевое значение. Другими словами, реально нет никакого нулевого значения, которое появляется как содержимое элемента. Вместо этого есть атрибут, который указывает, что содержимое элемента — nil . Чтобы проиллюстрировать это, мы изменим объявления элемента shipDate так, чтобы нулевые значения могли быть показаны:

<xsd:element name=”shipDate” type=”xsd:date” nillable=”true”/>

И явно представим, что shipDate имеет нулевое значение в документе примера, для этого мы установим атрибут nil (в примере из пространства имен XML Schema ) в истину:

В примере атрибут nil определен как часть пространства имен XML Schema http :// www . w 3. org /2001/ XMLSchema — instance , и поэтому он должен появляться в документе с префиксом (таким, как xsi :), который связывает с этим пространством имен. (Как и префикс xsd : , префикс xsi : используется только в соответствии с соглашением.) Отметим, что nil механизм применяется только для значений элементов, а со значениями атрибутов не применяется. Элемент с xsi : nil =" true " может не иметь элементов содержания, но, тем не менее, включать атрибуты.

What does i:nil="true" mean?

I have an xml and it has nodes with i:nil=»true» in it. What does that mean?

Does that mean something different than:

If so, what is the difference?

3 Answers 3

This means FirstName is null

This means FirstName = «»

Assumption made on FirstName is of string type.

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.

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:

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.

Читать:
Phaser 3020 как подключить к wifi

XML in a Nutshell, 3rd Edition by Elliotte Rusty Harold, W. Scott Means

Get full access to XML in a Nutshell, 3rd Edition and 60K+ other titles, with a free 10-day trial of O’Reilly.

There are also live events, courses curated by job role, and more.

Synopsis

The xsi:nil attribute indicates that a certain element does not have a value or that the value is unknown. This is not the same as having a value that is zero or the empty string. Semantically, it is equivalent to SQL’s null. For example, in this full_name element, the last_name child has a nil value:

It is not relevant whether an empty-element tag or a start-tag/end-tag pair is used to represent the nil element. However, a nil element may not have any content.

In order for this document to be valid, the element declaration for the name element must explicitly specify that nil values are allowed by setting the nillable attribute to true . For example:

Get XML in a Nutshell, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Как правильно представлять нулевые элементы XML?

Я видел элементы null , представленные несколькими способами:

Элемент присутствует с xsi:nil=»true» :

Элемент присутствует, но представлен как пустой элемент (который, я считаю, неверен, так как «empty» и null семантически разные):

Элемент отсутствует в возвращенной разметке:

Элемент имеет дочерний элемент <null/> (из TStamper ниже):

Есть ли правильный или канонический способ представления такого значения null ? Существуют ли дополнительные способы, чем приведенные выше примеры?

XML для приведенных выше примеров надуман, поэтому не читайте слишком далеко.:)

7 ответов

xsi: nil — это правильный способ представления такого значения, что: Когда вызывается метод getElementValue() уровня DOM уровня 2, возвращается значение NULL. xsi: nil также используется для указания допустимого элемента без содержимого, даже если этот тип содержимого элементов обычно не допускает пустых элементов.

Если используется пустой тег, getElementValue() возвращает пустую строку («») Если тег опущен, то никакой тег автора даже не присутствует. Это может быть семантически отличным от того, чтобы установить его на «nil» (пример установки «Series» на nil может заключаться в том, что книга не принадлежит ни одной серии, в то время как опуская серию может означать, что серия является неприменимым элементом для текущего элемента.)

XML-схема: структуры создают механизм сигнализации о том, что элемент должен быть принят как · действительный · когда он не имеет содержания, несмотря на тип содержимого, который не требует или даже обязательно разрешить пустое содержимое. Элемент может быть · действительным · без содержимое, если оно имеет атрибут xsi: nil со значением true. элемент, помеченный таким образом, должен быть пустым, но может переносить атрибуты, если это разрешено соответствующий сложный тип.

Прояснение:
Если у вас есть элемент xml книги, а один из дочерних элементов — это книга: серия у вас есть несколько вариантов при заполнении:

Похожие статьи