PureBasic


PureBasic - XML

Обзор

Библиотека XML предоставляет набор функций, с помощью которых можно легко добавить в создаваемые приложения возможность синтаксического разбора и создания XML. Она основана на Expat XML parser, который распространяется в соответствии с лицензией MIT, текст лицензии можно просмотреть здесь. Expat используется во многих проектах (как например Mozilla или perl). Он очень стабильный и очень быстрый.

Важно: Лицензия Expat требует, чтобы уведомление о праве на распространение и сам текст лицензии были включены в любое программное обеспечение, которое содержит этот парсер. Так что, если эта библиотека (или API import) используются в программном обеспечении, которое будет опубликовано, лицензия, на которую выше приводится ссылка, должна быть включена в поставку программного обеспечения.

Функции Expat также можно вызывать напрямую, как другие функции API с подчёркиваниями на конце. Это позволяет использовать возможности Expat, не предоставленные этой библиотекой. Константы и структуры, определенные в expat.h, также напрямую доступны в PureBasic. Так как Purebasic 5.50 и новее создаёт только юникодные исполняемые файлы, то для сборки этих файлов используется только юникодная версия Expat. За детальными сведениями о функциях Expat обратитесь к документации, предоставленной в комплекте для скачивания на странице: http://expat.sourceforge.net/

Эта библиотека частично поддерживает "Определения типов документа" (Document Type Definitions (DTD)) и пространства имён. Цель здесь - оставить набор команд очень простым, в то же время позволяя этой библиотеке обрабатывать любой соответствующий стандартам XML документ.

Expat - чистый синтаксический анализатор XML. Это значит он проверяет разбираемый документ на предмет ошибок в разметке (документ должен быть правильно оформлен согласно спецификациям XML), но он не проверяет документ по DTD. При разборе документа эта библиотека помещает DTDs внутри особого узла в дереве XML с типом #PB_XML_DTD. Содержимое этого узла это тег DOCTYPE полностью. При таком подходе к нему легко обратиться и изменить его, но также можно проигнорировать его, если эта информация не нужна. Тег просто записывается обратно в файл при экспорте/сохранении документа.

При разборе документа пространства имён не разрешаются. Это означает, что в документе, использующем пространства имён, объявления пространств имён доступны как обычные атрибуты узла, а имена узлов/атрибутов, использующие пространства имён, будут видны как "namespace:tagname". Это позволяет прочитать и сохранить документ, использующий пространства имён, как любой другой документ, не разрушая его структуру. Чтобы сделать работу с пространствами имён проще, для распознавания имён в документе, использующих пространства имён, предоставляются функции ResolveXMLNodeName() и ResolveXMLAttributeName().

Отладчик PureBasic предоставляет возможность просматривать объекты #XML во время выполнения программы с помощью инструмента Просмотр Библиотек.

Официальная спецификация XML и Пространств имен XML W3C может быть найдена здесь:
Спецификация XML.
Пространства имен XML.
Переводы различных документов связанных с XML.

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

Список команд

CatchXML
ChildXMLNode
ComposeXML
CopyXMLNode
CreateXML
CreateXMLNode
DeleteXMLNode
ExamineXMLAttributes
ExportXML
ExportXMLSize
ExtractXMLArray
ExtractXMLList
ExtractXMLMap
ExtractXMLStructure
FormatXML
FreeXML
GetXMLAttribute
GetXMLEncoding
GetXMLNodeName
GetXMLNodeOffset
GetXMLNodeText
GetXMLStandalone
InsertXMLArray
InsertXMLList
InsertXMLMap
InsertXMLStructure
IsXML
LoadXML
MainXMLNode
MoveXMLNode
NextXMLAttribute
NextXMLNode
ParentXMLNode
ParseXML
PreviousXMLNode
RemoveXMLAttribute
ResolveXMLAttributeName
ResolveXMLNodeName
RootXMLNode
SaveXML
SetXMLAttribute
SetXMLEncoding
SetXMLNodeName
SetXMLNodeOffset
SetXMLNodeText
SetXMLStandalone
XMLAttributeName
XMLAttributeValue
XMLChildCount
XMLError
XMLErrorLine
XMLErrorPosition
XMLNodeFromID
XMLNodeFromPath
XMLNodePath
XMLNodeType
XMLStatus

Пример

Xml.pb

Поддерживаемые OS

Все

Справочное руководство - оглавление