Ссылка CFXMLParser
CFXMLParser обеспечивает синтаксический анализатор XML, который можно использовать, чтобы найти и извлечь данные в XML-документах. Можно использовать высокоуровневый интерфейс для загрузки XML-документа в Базовый объект коллекции Основы. Низкоуровневый основанный на обратном вызове интерфейс позволяет Вам выполнять любое действие, которого Вы желаете на XML структурированному типу, когда это обнаруживается синтаксическим анализатором. Этот непрозрачный тип важен для приложений, для которых нужна информация о структуре или содержании XML-документа.
-
CFXMLParserAbort CFXMLParserAbort
(OS X v10.8)Заставляет синтаксический анализатор прерываться с данным кодом ошибки и описанием.
Объявление
Objective C
void CFXMLParserAbort ( CFXMLParserRef parser, CFXMLParserStatusCode errorCode, CFStringRef errorDescription );
Параметры
parser
Синтаксический анализатор для прерывания.
errorCode
Код ошибки для возврата к синтаксическому анализатору.
errorDescription
Строка описания ошибки для возврата к синтаксическому анализатору. Это значение может не быть
NULL
.Обсуждение
Эта функция не может быть вызвана асинхронно. Другими словами, это нужно вызвать из функции обратного вызова синтаксического анализатора.
Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
Возвращает читаемое пользователем описание текущего состояния ошибки.
Объявление
Objective C
CFStringRef CFXMLParserCopyErrorDescription ( CFXMLParserRef parser );
Параметры
parser
Синтаксический анализатор XML для исследования.
Возвращаемое значение
Читаемое пользователем описание текущего состояния ошибки, или
NULL
если не произошла никакая ошибка. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserCreate CFXMLParserCreate
(OS X v10.8)Создает новый синтаксический анализатор XML для указанных данных XML.
Объявление
Objective C
CFXMLParserRef CFXMLParserCreate ( CFAllocatorRef allocator, CFDataRef xmlData, CFURLRef dataSource, CFOptionFlags parseOptions, CFIndex versionOfNodes, CFXMLParserCallBacks *callBacks, CFXMLParserContext *context );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.xmlData
Данные XML для парсинга. Не передавать
NULL
.dataSource
URL, из которого данные XML был получен. URL используется для разрешения любых относительных ссылок, найденных в Данных XML. Передача
NULL
если допустимый URL недоступен.parseOptions
Флаги, управляющие, как будут проанализированы данные XML. Посмотрите Опции Парсинга для списка доступных параметров.
versionOfNodes
Определяет, какая версия объектов CFXMLNode производятся синтаксическим анализатором.
callBacks
Обрабатываются обратные вызовы, вызванные синтаксическим анализатором как XML. Обратные вызовы вызывают, поскольку с каждым XML-тэгом встречаются, когда внешний объект должен быть разрешен, и когда происходит ошибка. Посмотрите
CFXMLParserCallBacks
и отдельные обратные вызовы для большего количества подробных данных. Не передаватьNULL
.context
Определяет то, что, если таковые имеются, информационный указатель передается обратным вызовам, в то время как развивается синтаксический анализ;
context
может бытьNULL
.Возвращаемое значение
Недавно создаваемый синтаксический анализатор. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
Создает новый синтаксический анализатор XML для указанных данных XML в указанном URL.
Объявление
Objective C
CFXMLParserRef CFXMLParserCreateWithDataFromURL ( CFAllocatorRef allocator, CFURLRef dataSource, CFOptionFlags parseOptions, CFIndex versionOfNodes, CFXMLParserCallBacks *callBacks, CFXMLParserContext *context );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.dataSource
URL, из которого можно загрузить данные XML. URL используется для разрешения любых относительных ссылок, найденных в Данных XML. Это должен быть допустимый объект CFURL;
NULL
недопустимое значение.parseOptions
Флаги, управляющие, как будут проанализированы данные XML. Посмотрите Опции Парсинга для списка доступных параметров.
versionOfNodes
Определяет, какая версия объектов CFXMLNode производятся синтаксическим анализатором.
callBacks
Обрабатываются обратные вызовы, вызванные синтаксическим анализатором как XML. Обратные вызовы вызывают, поскольку с каждым XML-тэгом встречаются, когда внешний объект должен быть разрешен, и когда происходит ошибка. Посмотрите
CFXMLParserCallBacks
и отдельные обратные вызовы для большего количества подробных данных. Не передаватьNULL
.context
Определяет то, что, если таковые имеются, информационный указатель передается обратным вызовам, в то время как развивается синтаксический анализ; может быть
NULL
.Возвращаемое значение
Недавно создаваемый синтаксический анализатор. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetCallBacks CFXMLParserGetCallBacks
(OS X v10.8)Возвращает обратные вызовы, связанные с синтаксическим анализатором XML, когда он создавался.
Объявление
Objective C
void CFXMLParserGetCallBacks ( CFXMLParserRef parser, CFXMLParserCallBacks *callBacks );
Параметры
parser
Синтаксический анализатор XML для исследования.
callBacks
По возврату, содержит обратные вызовы для
parser
.Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetContext CFXMLParserGetContext
(OS X v10.8)Возвращает контекст для синтаксического анализатора XML.
Объявление
Objective C
void CFXMLParserGetContext ( CFXMLParserRef parser, CFXMLParserContext *context );
Параметры
parser
Синтаксический анализатор XML для исследования.
context
По возврату, указателю на структуру контекста для
parser
.Обсуждение
При установке контекста для синтаксического анализатора это будет передано Вам в качестве параметра в каждой из функций обратного вызова синтаксического анализатора. Структура данных контекста является приложением, определенным и связанным с синтаксическим анализатором с помощью одного из
CFXMLParserCreate...
функции.Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetDocument CFXMLParserGetDocument
(OS X v10.8)Возвращает верхний объект, возвращенный создать обратным вызовом структуры XML.
Объявление
Objective C
void * CFXMLParserGetDocument ( CFXMLParserRef parser );
Параметры
parser
Синтаксический анализатор XML для исследования.
Возвращаемое значение
Верхний объект, возвращенный
createXMLStructure
поле вCFXMLParserCallBacks
структура. Если возвращенное значение является Базовым объектом Основы, владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetLineNumber CFXMLParserGetLineNumber
(OS X v10.8)Возвращает номер строки текущего расположения синтаксического анализа.
Объявление
Objective C
CFIndex CFXMLParserGetLineNumber ( CFXMLParserRef parser );
Параметры
parser
Синтаксический анализатор XML для исследования.
Возвращаемое значение
Номер строки текущего расположения.
Обсуждение
Эта функция обычно используется в сочетании с
CFXMLParserHandleErrorCallBack
функционируйте так, чтобы могла быть сообщена ошибочная информация расположения.Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetLocation CFXMLParserGetLocation
(OS X v10.8)Возвращает индекс символа текущего расположения синтаксического анализа.
Объявление
Objective C
CFIndex CFXMLParserGetLocation ( CFXMLParserRef parser );
Параметры
parser
Синтаксический анализатор XML для исследования.
Возвращаемое значение
Индекс символа текущего расположения синтаксического анализа.
Обсуждение
Эта функция обычно используется в сочетании с
CFXMLParserHandleErrorCallBack
функционируйте так, чтобы могла быть сообщена ошибочная информация расположения.Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetSourceURL CFXMLParserGetSourceURL
(OS X v10.8)Возвращает URL для проанализированных данных XML.
Объявление
Objective C
CFURLRef CFXMLParserGetSourceURL ( CFXMLParserRef parser );
Параметры
parser
Синтаксический анализатор XML для исследования.
Возвращаемое значение
URL для проанализированного XML-документа. Владение соблюдает Получить Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetStatusCode CFXMLParserGetStatusCode
(OS X v10.8)Возвращает числовой код, указывающий текущий статус синтаксического анализатора.
Объявление
Objective C
CFXMLParserStatusCode CFXMLParserGetStatusCode ( CFXMLParserRef parser );
Параметры
parser
Синтаксический анализатор XML для исследования.
Возвращаемое значение
Код состояния, указывающий текущий синтаксический анализатор. Посмотрите Коды состояния Синтаксического анализатора для списка возможных кодов состояния.
Обсуждение
Если ошибка произошла, код для последней ошибки возвращается. Если никакая ошибка не произошла, код состояния возвращается.
Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserGetTypeID CFXMLParserGetTypeID
(OS X v10.8)Возвращает идентификатор типа для непрозрачного типа CFXMLParser.
Объявление
Objective C
CFTypeID CFXMLParserGetTypeID ( void );
Возвращаемое значение
Идентификатор типа для непрозрачного типа CFXMLParser.
Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLParserParse CFXMLParserParse
(OS X v10.8)Начинает синтаксический анализ данных XML, связанный с синтаксическим анализатором, когда он создавался.
Объявление
Objective C
Boolean CFXMLParserParse ( CFXMLParserRef parser );
Параметры
parser
Синтаксический анализатор XML для запуска.
Возвращаемое значение
true
если синтаксический анализ был успешен,false
иначе.Обсуждение
На успех используйте
CFXMLParserGetDocument
функция для получения продукта синтаксического анализа. На отказ используйтеCFXMLParserGetContext
илиCFXMLParserCopyErrorDescription
функции для получения информации об ошибке. Это - ошибка вызватьCFXMLParserParse
функционируйте, в то время как синтаксический анализ уже в стадии реализации.Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
Функция обратного вызова, вызванная синтаксическим анализатором для уведомления приложения родительских/дочерних отношений между структурами XML.
Объявление
Swift
typealias CFXMLParserAddChildCallBack = CFunctionPointer<((CFXMLParser!, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*CFXMLParserAddChildCallBack) ( CFXMLParserRef parser, void *parent, void *child, void *info );
Параметры
parser
Объект CFXMLParser создание обратного вызова.
parent
Определенное с помощью программы значение то, представляющее элемент XML, к кого
child
добавляется. Это значение было возвращеноCFXMLParserCreateXMLStructureCallBack
обратный вызов, когда был обнаружен открытый тег этого элемента.child
Определенное с помощью программы значение, представляющее элемент XML, добавляющийся к
parent
. Это значение было возвращеноCFXMLParserCreateXMLStructureCallBack
обратный вызов, когда был обнаружен открытый тег этого элемента.info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Обсуждение
Если
CFXMLParserCreateXMLStructureCallBack
функциональные возвратыNULL
для данной структуры та структура опущена полностью, и этот обратный вызов не вызовут ни для одного aNULL
дочерний элемент или родитель.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, вызванная синтаксическим анализатором при обработке информационного указателя.
Объявление
Swift
typealias CFXMLParserCopyDescriptionCallBack = CFunctionPointer<((UnsafePointer<Void>) -> Unmanaged<CFString>!)>
Objective C
typedef CFStringRef (*CFXMLParserCopyDescriptionCallBack) ( const void *info );
Параметры
info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Возвращаемое значение
Текстовое описание
info
. Вызывающая сторона ответственна за выпуск этого объекта.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Когда синтаксический анализатор встречается с XML открытый тег, функция обратного вызова вызвала.
Объявление
Swift
typealias CFXMLParserCreateXMLStructureCallBack = CFunctionPointer<((CFXMLParser!, CFXMLNode!, UnsafeMutablePointer<Void>) -> UnsafeMutablePointer<Void>)>
Objective C
typedef void *(*CFXMLParserCreateXMLStructureCallBack) ( CFXMLParserRef parser, CFXMLNodeRef nodeDesc, void *info );
Параметры
parser
Объект CFXMLParser создание обратного вызова.
nodeDesc
Объект CFXMLNode, представляющий структуру XML, с которой встречаются.
info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Возвращаемое значение
Определенное с помощью программы значение, представляющее новый элемент XML или
NULL
указать, что должна быть пропущена данная структура. Это значение передается другим обратным вызовам.Обсуждение
Если
NULL
возвращается для данной структуры, только минимальный парсинг сделан для той структуры (достаточно, чтобы правильно определить ее конец и извлечь любые данные, необходимые для остатка от синтаксического анализа, такого как определения Объекта). Этот обратный вызов (или любой из обратных вызовов древовидного создания) не вызовут ни для каких дочерних элементов пропущенной структуры. Единственное исключение - то, что о самом верхнем элементе будут всегда сообщать даже еслиNULL
был возвращен для документа в целом. По причинам производительности узел, переданный этому обратному вызову, не может быть безопасно сохранен клиентом; узел в целом должен быть скопирован (использованиеCFXMLNodeCreateCopy
функция), или ее содержание должен быть извлечен и скопирован. Вы обязаны реализовывать этот обратный вызов для синтаксического анализатора для работы.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, вызванная синтаксическим анализатором, чтобы уведомить Ваше приложение, что была полностью проанализирована структура XML (и все ее дочерние элементы).
Объявление
Swift
typealias CFXMLParserEndXMLStructureCallBack = CFunctionPointer<((CFXMLParser!, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*CFXMLParserEndXMLStructureCallBack) ( CFXMLParserRef parser, void *xmlType, void *info );
Параметры
parser
Объект CFXMLParser создание обратного вызова.
xmlType
Определенное с помощью программы значение, представляющее элемент XML, конечный тэг которого был обнаружен. Это значение было возвращено
CFXMLParserCreateXMLStructureCallBack
обратный вызов.info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Обсуждение
Поскольку с элементами встречаются, этот обратный вызов вызывают сначала, тогда
CFXMLParserAddChildCallBack
обратный вызов для добавления новой структуры к ее родителю, тогдаCFXMLParserAddChildCallBack
обратный вызов (потенциально несколько раз) для добавления дочерних элементов новой структуры к нему, и затем наконецCFXMLParserEndXMLStructureCallBack
обратный вызов, чтобы показать, что была полностью проанализирована структура. Этот обратный вызов является дополнительным.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, вызванная синтаксическим анализатором, чтобы уведомить Ваше приложение, что произошла ошибка.
Объявление
Swift
typealias CFXMLParserHandleErrorCallBack = CFunctionPointer<((CFXMLParser!, CFXMLParserStatusCode, UnsafeMutablePointer<Void>) -> Boolean)>
Objective C
typedef Boolean (*CFXMLParserHandleErrorCallBack) ( CFXMLParserRef parser, CFXMLParserStatusCode error, void *info );
Параметры
parser
Объект CFXMLParser создание обратного вызова.
error
Код состояния, описывающий ошибку.
info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Возвращаемое значение
true
если синтаксический анализатор должен продолжать анализировать XML,false
если должен остановиться синтаксический анализатор.Обсуждение
Если этот обратный вызов не будет определен, то синтаксический анализатор тихо попытается восстановиться. Иначе, этот обратный вызов может возвратиться
false
вынудить синтаксический анализатор остановиться. Если возвращается этот обратный вызовtrue
, синтаксический анализатор попытается восстановиться (фатальные ошибки все еще заставят синтаксический анализ сразу прерваться). Этот обратный вызов является дополнительным.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, вызванная синтаксическим анализатором, когда это хочет выпустить ссылку на информационный указатель.
Объявление
Swift
typealias CFXMLParserReleaseCallBack = CFunctionPointer<((UnsafePointer<Void>) -> Void)>
Objective C
typedef void (*CFXMLParserReleaseCallBack) ( const void *info );
Параметры
info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, вызванная синтаксическим анализатором, чтобы уведомить Ваше приложение, что сослались на внешний объект.
Объявление
Swift
typealias CFXMLParserResolveExternalEntityCallBack = CFunctionPointer<((CFXMLParser!, UnsafeMutablePointer<CFXMLExternalID>, UnsafeMutablePointer<Void>) -> Unmanaged<CFData>!)>
Objective C
typedef CFDataRef (*CFXMLParserResolveExternalEntityCallBack) ( CFXMLParserRef parser, CFXMLExternalID *extID, void *info );
Параметры
parser
Объект CFXMLParser создание обратного вызова.
extID
Идентификатор для внешнего объекта.
info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Возвращаемое значение
Внешний объект или
NULL
если это не должно быть разрешено.Обсуждение
Если этот обратный вызов не определяется, синтаксический анализатор использует свои внутренние подпрограммы, чтобы попытаться разрешить объект. Иначе, если возвращается этот обратный вызов
NULL
, заполнитель для внешнего объекта вставляется в дерево. Этим способом клиент синтаксического анализатора может предотвратить любую внешнюю сеть или доступы к файлу. Этот обратный вызов является дополнительным.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, вызванная синтаксическим анализатором, когда этому нужна другая ссылка на информационный указатель.
Объявление
Swift
typealias CFXMLParserRetainCallBack = CFunctionPointer<((UnsafePointer<Void>) -> UnsafePointer<Void>)>
Objective C
typedef const void *(*CFXMLParserRetainCallBack) ( const void *info );
Параметры
info
Определенные с помощью программы данные контекста Вы указали в
CFXMLParserContext
структура при создании синтаксического анализатора.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Содержит информацию о версии и указатели функции к обратным вызовам, необходимым при парсинге XML.
Объявление
Swift
struct CFXMLParserCallBacks { var version: CFIndex var createXMLStructure: CFXMLParserCreateXMLStructureCallBack var addChild: CFXMLParserAddChildCallBack var endXMLStructure: CFXMLParserEndXMLStructureCallBack var resolveExternalEntity: CFXMLParserResolveExternalEntityCallBack var handleError: CFXMLParserHandleErrorCallBack }
Objective C
struct CFXMLParserCallBacks { CFIndex version; CFXMLParserCreateXMLStructureCallBack createXMLStructure; CFXMLParserAddChildCallBack addChild; CFXMLParserEndXMLStructureCallBack endXMLStructure; CFXMLParserResolveExternalEntityCallBack resolveExternalEntity; CFXMLParserHandleErrorCallBack handleError; }; typedef struct CFXMLParserCallBacks CFXMLParserCallBacks;
Поля
version
Номер версии. Должен быть
0
.createXMLStructure
Вызванный, когда создается структура XML.
addChild
Вызванный, когда добавляется дочерний элемент.
endXMLStructure
Вызванный, когда закончилась структура XML.
resolveExternalEntity
Вызванный, когда должен быть разрешен внешний объект.
handleError
Вызванный, когда должна быть обработана ошибка анализа.
Обсуждение
Эта структура передается одному из
CFXMLParserCreate...
функции. ТолькоcreateXMLStructure
,addChild
, иendXMLStructure
поля требуются. Установите другие вNULL
если Вы не хотите реализовывать их.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит информацию о версии и указатели функции к обратным вызовам, используемым при обработке определенного с помощью программы контекста.
Объявление
Swift
struct CFXMLParserContext { var version: CFIndex var info: UnsafeMutablePointer<Void> var retain: CFXMLParserRetainCallBack var release: CFXMLParserReleaseCallBack var copyDescription: CFXMLParserCopyDescriptionCallBack }
Objective C
struct CFXMLParserContext { CFIndex version; void *info; CFXMLParserRetainCallBack retain; CFXMLParserReleaseCallBack release; CFXMLParserCopyDescriptionCallBack copyDescription; }; typedef struct CFXMLParserContext CFXMLParserContext;
Поля
version
Номер версии этой структуры. Должен быть 0.
info
Произвольное определенное с помощью программы значение передало всем обратным вызовам в этой структуре и в
CFXMLParserCallBacks
структура.retain
Сохранить обратный вызов для Ваших определенных с помощью программы данных контекста. Дополнительный.
release
Обратный вызов выпуска для Ваших определенных с помощью программы данных контекста. Дополнительный.
copyDescription
Обратный вызов описания копии для Ваших определенных с помощью программы данных контекста. Дополнительный.
Обсуждение
Когда синтаксический анализатор создается, можно связать контекст с синтаксическим анализатором. Контекст может быть чем-либо, чего Вы желаете и будете переданы в качестве параметра всем обратным вызовам синтаксического анализатора XML.
Доступность
Доступный в OS X v10.0 и позже.
-
Ссылка на объект синтаксического анализатора XML.
Объявление
Swift
typealias CFXMLParserRef = CFXMLParser
Objective C
typedef struct __CFXMLParser *CFXMLParserRef;
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Различное состояние и флаги ошибки, которые могут быть возвращены синтаксическим анализатором.
Объявление
Swift
struct CFXMLParserStatusCode : RawOptionSetType { init(_
rawValue
: CFIndex) init(rawValuerawValue
: CFIndex) static var StatusParseNotBegun: CFXMLParserStatusCode { get } static var StatusParseInProgress: CFXMLParserStatusCode { get } static var StatusParseSuccessful: CFXMLParserStatusCode { get } static var ErrorUnexpectedEOF: CFXMLParserStatusCode { get } static var ErrorUnknownEncoding: CFXMLParserStatusCode { get } static var ErrorEncodingConversionFailure: CFXMLParserStatusCode { get } static var ErrorMalformedProcessingInstruction: CFXMLParserStatusCode { get } static var ErrorMalformedDTD: CFXMLParserStatusCode { get } static var ErrorMalformedName: CFXMLParserStatusCode { get } static var ErrorMalformedCDSect: CFXMLParserStatusCode { get } static var ErrorMalformedCloseTag: CFXMLParserStatusCode { get } static var ErrorMalformedStartTag: CFXMLParserStatusCode { get } static var ErrorMalformedDocument: CFXMLParserStatusCode { get } static var ErrorElementlessDocument: CFXMLParserStatusCode { get } static var ErrorMalformedComment: CFXMLParserStatusCode { get } static var ErrorMalformedCharacterReference: CFXMLParserStatusCode { get } static var ErrorMalformedParsedCharacterData: CFXMLParserStatusCode { get } static var ErrorNoData: CFXMLParserStatusCode { get } }Objective C
enum CFXMLParserStatusCode { kCFXMLStatusParseNotBegun = -2, kCFXMLStatusParseInProgress = -1, kCFXMLStatusParseSuccessful = 0, kCFXMLErrorUnexpectedEOF = 1, kCFXMLErrorUnknownEncoding = 2, kCFXMLErrorEncodingConversionFailure = 3, kCFXMLErrorMalformedProcessingInstruction = 4, kCFXMLErrorMalformedDTD = 5, kCFXMLErrorMalformedName = 6, kCFXMLErrorMalformedCDSect = 7, kCFXMLErrorMalformedCloseTag = 8, kCFXMLErrorMalformedStartTag = 9, kCFXMLErrorMalformedDocument = 10, kCFXMLErrorElementlessDocument = 11, kCFXMLErrorMalformedComment = 12, kCFXMLErrorMalformedCharacterReference = 13, kCFXMLErrorMalformedParsedCharacterData = 14, kCFXMLErrorNoData = 15 }; typedef enum CFXMLParserStatusCode CFXMLParserStatusCode;
Константы
-
StatusParseNotBegun
kCFXMLStatusParseNotBegun
Указывает, что не начался синтаксический анализатор.
Доступный в OS X v10.0 и позже.
-
StatusParseInProgress
kCFXMLStatusParseInProgress
Указывает, что синтаксический анализатор происходит.
Доступный в OS X v10.0 и позже.
-
StatusParseSuccessful
kCFXMLStatusParseSuccessful
Указывает, что синтаксический анализатор был успешен.
Доступный в OS X v10.0 и позже.
-
ErrorUnexpectedEOF
kCFXMLErrorUnexpectedEOF
Указывает, что произошел неожиданный EOF.
Доступный в OS X v10.0 и позже.
-
ErrorUnknownEncoding
kCFXMLErrorUnknownEncoding
Указывает неизвестную ошибку кодирования.
Доступный в OS X v10.0 и позже.
-
ErrorEncodingConversionFailure
kCFXMLErrorEncodingConversionFailure
Указывает ошибку преобразования кодирования.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedProcessingInstruction
kCFXMLErrorMalformedProcessingInstruction
Указывает уродливую инструкцию обработки.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedDTD
kCFXMLErrorMalformedDTD
Указывает уродливый DTD.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedName
kCFXMLErrorMalformedName
Указывает уродливое имя.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedCDSect
kCFXMLErrorMalformedCDSect
Указывает уродливый раздел CDATA.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedCloseTag
kCFXMLErrorMalformedCloseTag
Указывает уродливый близкий тег.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedStartTag
kCFXMLErrorMalformedStartTag
Указывает уродливый тег запуска.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedDocument
kCFXMLErrorMalformedDocument
Указывает уродливый документ.
Доступный в OS X v10.0 и позже.
-
ErrorElementlessDocument
kCFXMLErrorElementlessDocument
Указывает документ, содержащий элементы.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedComment
kCFXMLErrorMalformedComment
Указывает уродливый комментарий.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedCharacterReference
kCFXMLErrorMalformedCharacterReference
Указывает уродливую символьную ссылку.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedParsedCharacterData
kCFXMLErrorMalformedParsedCharacterData
Указывает уродливые символьные данные.
Доступный в OS X v10.0 и позже.
-
ErrorNoData
kCFXMLErrorNoData
Не указывает ошибку данных.
Доступный в OS X v10.0 и позже.
Обсуждение
Состояние Parser определяется путем вызова
CFXMLParserGetStatusCode
функция. Синтаксический анализатор сообщает об ошибках Вашему приложению путем вызоваCFXMLParserHandleErrorCallBack
функция.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
-
Опции можно использовать для управления обработкой синтаксического анализатора XML-документа.
Объявление
Swift
struct CFXMLParserOptions : RawOptionSetType { init(_
rawValue
: CFOptionFlags) init(rawValuerawValue
: CFOptionFlags) static var ValidateDocument: CFXMLParserOptions { get } static var SkipMetaData: CFXMLParserOptions { get } static var ReplacePhysicalEntities: CFXMLParserOptions { get } static var SkipWhitespace: CFXMLParserOptions { get } static var ResolveExternalEntities: CFXMLParserOptions { get } static var AddImpliedAttributes: CFXMLParserOptions { get } static var AllOptions: CFXMLParserOptions { get } static var NoOptions: CFXMLParserOptions { get } }Objective C
enum CFXMLParserOptions { kCFXMLParserValidateDocument = (1 << 0), kCFXMLParserSkipMetaData = (1 << 1), kCFXMLParserReplacePhysicalEntities = (1 << 2), kCFXMLParserSkipWhitespace = (1 << 3), kCFXMLParserResolveExternalEntities = (1 << 4), kCFXMLParserAddImpliedAttributes = (1 << 5), kCFXMLParserAllOptions = 0x00FFFFFF, kCFXMLParserNoOptions = 0 }; typedef enum CFXMLParserOptions CFXMLParserOptions;
Константы
-
ValidateDocument
kCFXMLParserValidateDocument
Проверяет документ против его грамматики от DTD, сообщая о любых ошибках. В настоящее время не поддерживаемый.
Доступный в OS X v10.0 и позже.
-
SkipMetaData
kCFXMLParserSkipMetaData
Тихо перескочите через конструкции метаданных (DTD и комментарии).
Доступный в OS X v10.0 и позже.
-
ReplacePhysicalEntities
kCFXMLParserReplacePhysicalEntities
Замены объявили объекты как
<
;. Обратите внимание на то, что кроме 5 предопределенных объектов (lt
,gt
,quot
,amp
,apos
), они должны быть определены в DTD. В настоящее время не поддерживаемый.Доступный в OS X v10.0 и позже.
-
SkipWhitespace
kCFXMLParserSkipWhitespace
Перескочите через весь пробел, не примыкающий к данным непробельного символа. Другими словами, данный “
<foo> <bar> blah </bar></foo>
,” пробел между открытым тегом foo и открытым тегом панели был бы подавлен, но пробел вокругblah
был бы сохранен.Доступный в OS X v10.0 и позже.
-
ResolveExternalEntities
kCFXMLParserResolveExternalEntities
Решения все внешние объекты.
Доступный в OS X v10.0 и позже.
-
AddImpliedAttributes
kCFXMLParserAddImpliedAttributes
Где DTD указывает подразумеваемых пар значения атрибута для определенного элемента, добавьте тех пар к любым случаям элемента в дереве элемента. В настоящее время не поддерживаемый.
Доступный в OS X v10.0 и позже.
-
AllOptions
kCFXMLParserAllOptions
Заставляет синтаксический анализатор выполнить большую часть работы, возвращая только чистый elementtree.
Доступный в OS X v10.0 и позже.
-
NoOptions
kCFXMLParserNoOptions
Уезжает XML, максимально «неповрежденный» (сообщает обо всех структурах; не выполняет замен).
Доступный в OS X v10.0 и позже.
Обсуждение
Это различные варианты, которые Вы используете для конфигурирования синтаксического анализатора. Флаг опции 0 (
kCFXMLParserNoOptions
) уезжает XML, максимально «неповрежденный» (сообщает обо всех структурах; не выполняет замен). Следовательно, чтобы заставить синтаксический анализатор сделать большая часть работы, возвращая только чистое дерево элемента, установила флаг опции вkCFXMLParserAllOptions
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-