Пустой xml тег: Определение пустых элементов в XML схеме

XML элементы

❮ Предыдущая Следующая Глава ❯


XML документ содержит XML-элементы.


Что такое XML-элемент?

XML элемент все , от (including) начало теге элемента к (including) в (including) данного элемента конечного тега.


<price>29.99</price>

Элемент может содержать:

  • текст
  • атрибуты
  • другие элементы
  • или смесь из вышеперечисленных


<bookstore>

  <book category=»children»>

    <title>Harry Potter</title>

    <author>J K. Rowling</author>

    <year>2005</year>

    <price>29.99</price>

  </book>

  <book category=»web»>

    <title>Learning XML</title>

    <author>Erik T. Ray</author>

    <year>2003</year>

    <price>39.95</price>

  </book>

</bookstore>

В приведенном выше примере:

<title>, <author>, <year> , и <price> есть text content , потому что они содержат текст (like 29. 99) , (like 29.99) .

<bookstore> и <book> есть element contents , так как они содержат элементы.

<book> имеет attribute (category=»children») .


Пустые элементы XML

Элемент без содержимого называется пустым.

В XML, вы можете указать пустой элемент вроде этого:


<element></element>

Кроме того, можно использовать так называемую самозакрывания тег:


<element />

Обе формы производят одинаковые результаты в программном обеспечении XML (Читатели, Парсеры, браузеры).

Пустые элементы могут иметь атрибуты.


XML Правила именования

XML-элементы должны следовать этим правилам именования:

  • Имена элементов чувствительны к регистру
  • Имена элементов должны начинаться с буквы или подчеркивания
  • Имена элементов не может начинаться с XML — буквы (or XML, or Xml, etc) и (or XML, or Xml, etc)
  • Имена элементов могут содержать буквы, цифры, дефис, подчеркивание и периоды
  • Имена элементов не может содержать пробелы

Любое имя может быть использовано, никакие слова не зарезервированы (except xml) за (except xml) .


Рекомендации по присвоению имен

Создание описательные имена, как это: <person>, <firstname> , <lastname> .

Создать короткие и простые имена, например: <book_title> не нравится: <the_title_of_the_book> .

Избегайте «-» . Если вы называете что — то «first-name» , некоторые программы могут подумать , вы хотите вычесть «name» от «first» .

Избегайте «.» , Если вы называете что — то «first.name» , некоторые программы могут думать , что «name» является свойством объекта «first» .

Избегайте «:» . Колоны зарезервированы для пространств имен (more later) .

Non-английские буквы как EOA совершенно законно в XML, но следить за проблемами, если ваше программное обеспечение не поддерживает их.


Присвоение имен стилей

Там нет стилей именования, определенные для элементов XML. Но вот некоторые часто используемые:

Стиль пример Описание
Lower case<firstname> Все буквы нижнего регистра
Upper case<FIRSTNAME> Все буквы в верхнем регистре
Underscore<first_name> Подчеркивание разделяет слова
Pascal case<FirstName> Прописная первая буква в каждом слове
Camel case<firstName> Прописная первая буква в каждом слове, кроме первого

Если вы выбираете стиль именования, это хорошо, чтобы быть последовательным!

XML-документы часто имеют соответствующую базу данных. Обычной практикой является использование правила именования базы данных для элементов XML.

Верблюд случай является общим правилом присвоения имен в JavaScripts.


XML-элементы являются расширяемый

Элементы XML могут быть расширены, чтобы нести больше информации.

Посмотрите на следующий пример XML:


<note>

 
<to>Tove</to>

 
<from>Jani</from>

 
<body>Don’t forget me this weekend!</body>

</note>

Давайте представим , что мы создали приложение , которое извлечен <в>, <от> и <body> элементы из документа XML , чтобы произвести этот вывод:

MESSAGE

To: Tove
From: Яни

Не забывай меня в эти выходные!

Представьте себе, что автор документа XML добавил некоторую дополнительную информацию к нему:


<note>

 
<date>2008-01-10</date>

 
<to>Tove</to>

 
<from>Jani</from>

 
<heading>Reminder</heading>

 
<body>Don’t forget me this weekend!</body>

</note>

Если приложение сломать или разбить?

Нет . Приложение должно еще быть в состоянии найти <to>, <from> и <body> элементы в документе XML и производить тот же вывод.

Это одна из красавиц XML. Он может быть продлен, не нарушая приложений.

❮ Предыдущая Следующая Глава ❯

XML-литерал элемента — Visual Basic






Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья



Литерал, представляющий XElement объект .

Синтаксис

<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>

Компоненты

  • <

    Обязательный. Открывает тег начального элемента.

  • name

    Обязательный. Имя элемента. Формат имеет один из следующих форматов:

    • Литеральный текст для имени элемента в форме [ePrefix:]eName, где:

      ЧастьОписание
      ePrefixНеобязательный элемент. Префикс пространства имен XML для элемента . Должно быть глобальным пространством имен XML, определенным с помощью инструкции Imports в файле или на уровне проекта, или локальным пространством имен XML, определенным в этом элементе или родительском элементе.
      eNameОбязательный. Имя элемента. Формат имеет один из следующих форматов:

      — Литеральный текст. См. раздел Имена объявленных XML-элементов и атрибутов.
      — внедренное выражение формы <%= eNameExp %>. Тип eNameExp должен быть String или типом, который неявно можно преобразовать в XName.

    • Внедренное выражение формы <%= nameExp %>. Тип nameExp должен быть String или типом, неявно преобразованным в XName. Внедренное выражение не допускается в закрывающем теге элемента.

  • attributeList

    Необязательный элемент. Список атрибутов, объявленных в литерале.

    attribute [ attribute ... ]

    Каждый из них attribute имеет один из следующих синтаксисов:

    • Назначение атрибута в форме [aPrefix:]aName=aValue, где:

      ЧастьОписание
      aPrefixНеобязательный элемент. Префикс пространства имен XML для атрибута. Должно быть глобальным пространством имен XML, определенным с помощью инструкции Imports , или локальным пространством имен XML, определенным в этом элементе или родительском элементе.
      aNameОбязательный. Имя атрибута. Формат имеет один из следующих форматов:

      — Литеральный текст. См. раздел Имена объявленных XML-элементов и атрибутов.
      — внедренное выражение формы <%= aNameExp %>. Тип aNameExp должен быть String или типом, который неявно можно преобразовать в XName.

      aValueНеобязательный элемент. Значение атрибута. Формат имеет один из следующих форматов:

      — литеральный текст, заключенный в кавычки.
      — внедренное выражение формы <%= aValueExp %>. Разрешен любой тип.

    • Внедренное выражение формы <%= aExp %>.

  • />

    Необязательный элемент. Указывает, что элемент является пустым элементом без содержимого.

  • >

    Обязательный. Заканчивается начальный или пустой тег элемента.

  • elementContents

    Необязательный элемент. Содержимое элемента .

    content [ content ... ]

    Каждый из них content может быть одним из следующих:

    • Литеральный текст. Все пробелы в elementContents становятся значительными, если есть какой-либо литеральный текст.

    • Внедренное выражение формы <%= contentExp %>.

    • Литерал xml-элемента.

    • Литерал комментария XML. См. литерал комментария XML.

    • Литерал инструкций обработки XML. См. литерал инструкций по обработке XML.

    • XML-литерал CDATA. См. литерал XML CDATA.

  • </[name]>

    Необязательный элемент. Представляет закрывающий тег для элемента . Необязательный name параметр не допускается, если он является результатом внедренного выражения.

Возвращаемое значение

Объект XElement.

Для создания XElement объектов в коде можно использовать литерал XML-элемента.

Примечание

XML-литерал может охватывать несколько строк без использования символов продолжения строки. Эта функция позволяет копировать содержимое из XML-документа и вставлять его непосредственно в программу Visual Basic.

Внедренные выражения формы <%= exp %> позволяют добавлять динамические сведения в литерал ЭЛЕМЕНТА XML. Дополнительные сведения см. в разделе Внедренные выражения в XML.

Компилятор Visual Basic преобразует литерал XML-элемента в вызовы конструктора XElement и, при необходимости, конструктора XAttribute .

Пространства имен XML

Префиксы пространства имен XML полезны, когда необходимо много раз создавать XML-литералы с элементами из одного пространства имен. Можно использовать глобальные префиксы пространства имен XML, которые определяются с помощью инструкции Imports , или локальные префиксы, которые определяются с помощью синтаксиса атрибута xmlns:xmlPrefix="xmlNamespace" . Дополнительные сведения см. в разделе Инструкция Imports (пространство имен XML).

В соответствии с правилами определения области для пространств имен XML локальные префиксы имеют приоритет над глобальными. Однако если XML-литерал определяет пространство имен XML, это пространство имен недоступно для выражений, которые отображаются во внедренном выражении. Внедренное выражение может получить доступ только к глобальному пространству имен XML.

Компилятор Visual Basic преобразует каждое глобальное пространство имен XML, используемое XML-литералом, в одно локальное определение пространства имен в созданном коде. Глобальные пространства имен XML, которые не используются, не отображаются в созданном коде.

Пример 1

В следующем примере показано, как создать простой XML-элемент с двумя вложенными пустыми элементами.

Dim test1 As XElement = 
<outer>
    <inner1></inner1>
    <inner2/>
</outer>
Console.WriteLine(test1)

В примере отображается следующий текст. Обратите внимание, что литерал сохраняет структуру пустых элементов.

<outer>
  <inner1></inner1>
  <inner2 />
</outer>

Пример 2

В следующем примере показано, как использовать внедренные выражения для присвоения имени элементу и создания атрибутов.

Dim elementType = "book"
Dim authorName = "My Author"
Dim attributeName1 = "year"
Dim attributeValue1 = 1999
Dim attributeName2 = "title"
Dim attributeValue2 = "My Book"
Dim book As XElement = 
<<%= elementType %>
    isbn="1234"
    author=<%= authorName %>
    <%= attributeName1 %>=<%= attributeValue1 %>
    <%= New XAttribute(attributeName2, attributeValue2) %>
/>
Console.WriteLine(book)

Этот пример кода отображает следующий текст:

<book isbn="1234" author="My Author" year="1999" title="My Book" />

Пример 3

В следующем примере ns объявляется как префикс пространства имен XML. Затем он использует префикс пространства имен для создания XML-литерала и отображает окончательную форму элемента.

' Place Imports statements at the top of your program.  
Imports <xmlns:ns="http://SomeNamespace">
Class TestClass1
    Shared Sub TestPrefix()
        ' Create test using a global XML namespace prefix. 
        Dim inner2 = <ns:inner2/>
        Dim test = 
        <ns:outer>
            <ns:middle xmlns:ns="http://NewNamespace">
                <ns:inner1/>
                <%= inner2 %>
            </ns:middle>
        </ns:outer>
        ' Display test to see its final form. 
        Console.WriteLine(test)
    End Sub
End Class

Этот пример кода отображает следующий текст:

<ns:outer xmlns:ns="http://SomeNamespace">
  <ns:middle xmlns:ns="http://NewNamespace">
    <ns:inner1 />
    <inner2 xmlns="http://SomeNamespace" />
  </ns:middle>
</ns:outer>

Обратите внимание, что компилятор префикс глобального пространства имен XML преобразовывается в определение префикса для пространства имен XML. Элемент <ns:middle> переопределяет префикс пространства имен XML для <элемента ns:inner1> . Однако элемент ns:inner2> использует пространство имен, <определенное оператором Imports .

См. также раздел

  • XElement
  • Имена объявленных элементов и атрибутов XML
  • XML-литерал комментария
  • XML-литерал CDATA
  • XML-литералы
  • Создание XML в Visual Basic
  • Встроенные выражения в XML
  • Оператор Imports (пространство имен XML)






XML-элементов

❮ Предыдущий
Далее ❯


Документ XML содержит элементы XML.


Что такое элемент XML?

Элемент XML — это все, начиная с (включая) начального тега элемента и заканчивая
(включая) конечный тег элемента.

29,99

Элемент может содержать:

  • текст
  • атрибутов
  • прочие элементы
  • или смесь вышеуказанных

<книжный магазин>
 
   Гарри Поттер
    Дж. К. Роулинг
    2005
    29,99

 
   Learning XML
    Эрик Т. Рэй
    2003
    39,95< /price>
 

В приведенном выше примере:

<название>, <автор>, <год> и <цена> имеют текст
content
, потому что они содержат текст (например, 29,99).

и содержат элементы ,
потому что они содержат элементы.

<книга> имеет атрибут
(категория = «дети»).


Пустые элементы XML

Элемент без содержимого считается пустым.

В XML можно указать пустой элемент следующим образом:

Вы также можете использовать так называемый самозакрывающийся тег:

Эти две формы дают идентичные результаты в программном обеспечении XML (Readers, Parsers,
Браузеры).

Пустые элементы могут иметь атрибуты.



Правила именования XML

Элементы XML должны соответствовать следующим правилам именования:

  • Имена элементов чувствительны к регистру
  • Имена элементов должны начинаться с буквы или подчеркивания
  • Имена элементов не могут начинаться с букв xml (или XML, или Xml и т. д.)
  • Имена элементов могут содержать буквы, цифры, дефисы, символы подчеркивания и точки
  • Имена элементов не могут содержать пробелы

Можно использовать любое имя, слова не зарезервированы (кроме xml).


Лучшие практики именования

Создайте описательные имена, например:
<человек>, <имя>, <фамилия>.

Создавайте короткие и простые имена, например: не так: .

Избегайте «-«. Если вы назовете что-то «имя», некоторые программы могут
думаю, вы хотите вычесть «имя» из «первого».

Избегайте «.». Если вы назовете что-то «first.name», некоторые программы могут
думаю, что «имя» является свойством объекта «первый».

Избегайте «:». Двоеточия зарезервированы для
пространства имен (подробнее позже).

Неанглийские буквы, такие как éòá, вполне допустимы в XML, но следите за
проблемы, если ваше программное обеспечение их не поддерживает!


Соглашения об именах

Некоторые обычно
используемые соглашения об именах для XML-элементов:

Стиль Пример Описание
Нижний регистр <имя> Все буквы в нижнем регистре
Верхний ящик <ИМЯ> Все буквы прописные
Футляр для змей <имя> Символ подчеркивания разделяет слова (обычно используется в базах данных SQL)
Чемодан Паскаля <Имя> Заглавная первая буква в каждом слове (обычно используется программистами на C)
Camel case <имя> Первая буква в верхнем регистре в каждом слове, кроме первого (обычно используется в
JavaScript)

Совет! Выберите свой стиль именования и будьте последовательны!

Документы XML часто имеют соответствующую базу данных. Распространенной практикой является использование
правила именования базы данных для элементов XML.


Элементы XML являются расширяемыми

Элементы XML могут быть расширены для переноса дополнительной информации.

Посмотрите на следующий пример XML:

<примечание>
Туве
Яни
Не забывайте меня в эти выходные!

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

СООБЩЕНИЕ

Кому: Туве
От кого: Яни

Не забудь меня в эти выходные!

Представьте, что автор XML-документа добавил в него дополнительную информацию:


2008-01-10
Туве
Яни
Напоминание
Не забудьте меня в эти выходные!

Должно ли приложение сломаться или вылететь?

Нет. Приложение по-прежнему должно иметь возможность находить элементы , и
элементы в XML-документе и производят тот же вывод.

Это одна из прелестей XML. Его можно расширить, не нарушая
Приложения.

❮ Предыдущий
Следующий ❯

Сложный тип XML-схемы — пустые элементы

❮ Предыдущий
Далее ❯


Пустой сложный элемент не может иметь содержимого, только атрибуты.


Пустой элемент XML:

Вышеупомянутый элемент «product» вообще не содержит содержимого. Чтобы определить тип
без содержимого мы должны определить тип, который допускает элементы в своем содержимом,
но на самом деле мы не объявляем никаких элементов, например:









В приведенном выше примере мы определяем сложный тип со сложным содержимым. Элемент complexContent сигнализирует о том, что мы намерены ограничить или
расширить модель содержимого сложного типа, а ограничение целого числа объявляет один атрибут, но не вводит содержимое какого-либо элемента.

Однако можно объявить элемент product более компактно, например так:





Или вы можете дать элементу complexType имя и позволить элементу «product»
иметь атрибут типа, который ссылается на имя сложного типа (если вы используете
этого метода несколько элементов могут относиться к одному и тому же сложному типу):



❮ Предыдущий
Далее ❯

ВЫБОР ЦВЕТА



Лучшие учебники

Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3. CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебник по jQuery

Основные ссылки

HTML Reference
CSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference

902 58 лучших примеров

Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


FORUM |
О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения.
Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания.