Ссылка 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.dataSourceURL, из которого данные 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использовать текущее средство выделения по умолчанию.dataSourceURL, из которого можно загрузить данные 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 = CFXMLParserObjective 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;Константы
-
StatusParseNotBegunkCFXMLStatusParseNotBegunУказывает, что не начался синтаксический анализатор.
Доступный в OS X v10.0 и позже.
-
StatusParseInProgresskCFXMLStatusParseInProgressУказывает, что синтаксический анализатор происходит.
Доступный в OS X v10.0 и позже.
-
StatusParseSuccessfulkCFXMLStatusParseSuccessfulУказывает, что синтаксический анализатор был успешен.
Доступный в OS X v10.0 и позже.
-
ErrorUnexpectedEOFkCFXMLErrorUnexpectedEOFУказывает, что произошел неожиданный EOF.
Доступный в OS X v10.0 и позже.
-
ErrorUnknownEncodingkCFXMLErrorUnknownEncodingУказывает неизвестную ошибку кодирования.
Доступный в OS X v10.0 и позже.
-
ErrorEncodingConversionFailurekCFXMLErrorEncodingConversionFailureУказывает ошибку преобразования кодирования.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedProcessingInstructionkCFXMLErrorMalformedProcessingInstructionУказывает уродливую инструкцию обработки.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedDTDkCFXMLErrorMalformedDTDУказывает уродливый DTD.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedNamekCFXMLErrorMalformedNameУказывает уродливое имя.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedCDSectkCFXMLErrorMalformedCDSectУказывает уродливый раздел CDATA.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedCloseTagkCFXMLErrorMalformedCloseTagУказывает уродливый близкий тег.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedStartTagkCFXMLErrorMalformedStartTagУказывает уродливый тег запуска.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedDocumentkCFXMLErrorMalformedDocumentУказывает уродливый документ.
Доступный в OS X v10.0 и позже.
-
ErrorElementlessDocumentkCFXMLErrorElementlessDocumentУказывает документ, содержащий элементы.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedCommentkCFXMLErrorMalformedCommentУказывает уродливый комментарий.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedCharacterReferencekCFXMLErrorMalformedCharacterReferenceУказывает уродливую символьную ссылку.
Доступный в OS X v10.0 и позже.
-
ErrorMalformedParsedCharacterDatakCFXMLErrorMalformedParsedCharacterDataУказывает уродливые символьные данные.
Доступный в OS X v10.0 и позже.
-
ErrorNoDatakCFXMLErrorNoDataНе указывает ошибку данных.
Доступный в 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;Константы
-
ValidateDocumentkCFXMLParserValidateDocumentПроверяет документ против его грамматики от DTD, сообщая о любых ошибках. В настоящее время не поддерживаемый.
Доступный в OS X v10.0 и позже.
-
SkipMetaDatakCFXMLParserSkipMetaDataТихо перескочите через конструкции метаданных (DTD и комментарии).
Доступный в OS X v10.0 и позже.
-
ReplacePhysicalEntitieskCFXMLParserReplacePhysicalEntitiesЗамены объявили объекты как
<. Обратите внимание на то, что кроме 5 предопределенных объектов (lt,gt,quot,amp,apos), они должны быть определены в DTD. В настоящее время не поддерживаемый.Доступный в OS X v10.0 и позже.
-
SkipWhitespacekCFXMLParserSkipWhitespaceПерескочите через весь пробел, не примыкающий к данным непробельного символа. Другими словами, данный “
<foo> <bar> blah </bar></foo>,” пробел между открытым тегом foo и открытым тегом панели был бы подавлен, но пробел вокругblahбыл бы сохранен.Доступный в OS X v10.0 и позже.
-
ResolveExternalEntitieskCFXMLParserResolveExternalEntitiesРешения все внешние объекты.
Доступный в OS X v10.0 и позже.
-
AddImpliedAttributeskCFXMLParserAddImpliedAttributesГде DTD указывает подразумеваемых пар значения атрибута для определенного элемента, добавьте тех пар к любым случаям элемента в дереве элемента. В настоящее время не поддерживаемый.
Доступный в OS X v10.0 и позже.
-
AllOptionskCFXMLParserAllOptionsЗаставляет синтаксический анализатор выполнить большую часть работы, возвращая только чистый elementtree.
Доступный в OS X v10.0 и позже.
-
NoOptionskCFXMLParserNoOptionsУезжает XML, максимально «неповрежденный» (сообщает обо всех структурах; не выполняет замен).
Доступный в OS X v10.0 и позже.
Обсуждение
Это различные варианты, которые Вы используете для конфигурирования синтаксического анализатора. Флаг опции 0 (
kCFXMLParserNoOptions) уезжает XML, максимально «неповрежденный» (сообщает обо всех структурах; не выполняет замен). Следовательно, чтобы заставить синтаксический анализатор сделать большая часть работы, возвращая только чистое дерево элемента, установила флаг опции вkCFXMLParserAllOptions.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
