Difference between revisions of "XML stream"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
m (порядок)
m (Reverted edits by 108.62.112.229 (talk) to last revision by 82.145.209.26)
 
(3 intermediate revisions by 3 users not shown)
Line 10: Line 10:
 
Количество стансов в потоке не ограничено.
 
Количество стансов в потоке не ограничено.
 
Закрытие элемента <code>&lt;stream/&gt;</code> однозначно сигнализирует о закрытии XML-потока.
 
Закрытие элемента <code>&lt;stream/&gt;</code> однозначно сигнализирует о закрытии XML-потока.
 +
 +
Чтобы просматривать XML-поток в xmpp-клиенте (обычно в целях отладки и поиска неисправностей) используется [[консоль XML]].
  
 
== Особенности работы ==
 
== Особенности работы ==

Latest revision as of 14:25, 27 July 2016

В соответствии с принятыми в данной вики договорённостями, правильное название этой статьи — XML-поток.
Для ссылок сюда с других страниц
ЯВики используйте название
XML-поток
На других ресурсах
можно также давать ссылку
http://jawiki.ru/XML_stream

Способ обмена данными между двумя сущностями по протоколу XMPP. Представляет собой нечто вроде незаконченного XML-документа, в который по мере обмена данными дописываются стансы.

Спецификация[edit]

Понятие «XML-поток» описано в Основах XMPP.

XML-поток состоит из корневого элемента <stream/> и его дочерних элементов (в том числе стансов). Количество стансов в потоке не ограничено. Закрытие элемента <stream/> однозначно сигнализирует о закрытии XML-потока.

Чтобы просматривать XML-поток в xmpp-клиенте (обычно в целях отладки и поиска неисправностей) используется консоль XML.

Особенности работы[edit]

Не всякий XML-парсер (программное средство для работы с данными в XML) пригоден для работы с XML-потоками. Во-первых, незакрытый поток не является правильным (валидным) XML-документом. Во-вторых, в отличие от работы с XML-документом, нет необходимости держать в памяти узлы (стансы), пришедшие ранее — они уже обработаны.

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

ToDo: примеры событийных XML-парсеров

См. также[edit]