Ссылка CFXMLNode
Объект CFXMLNode описывает отдельную конструкцию XML — как тег, или комментарий или строка символьных данных. CFXMLNode предназначается, чтобы использоваться с CFXMLParser и непрозрачными типами CFXMLTree.
Каждый объект CFXMLNode содержит три основных данные — тип узла, строка данных и указатель на структуру данных дополнительной информации. Тип объекта CFXMLNode является одним из перечислений, описанных в Коде Типа узла. Строка данных всегда является объектом CFString; значение строки зависит от типа узла. Формат дополнительных данных также зависит от типа узла; в целом существует пользовательская структура для каждого типа, требующего дополнительных данных. Посмотрите Код Типа узла для отображения от типа узла до значения строки данных и структуры дополнительной информации. Обратите внимание на то, что эти структуры являются имеющими версию и могут измениться, когда изменяется синтаксический анализатор. Текущая версия может всегда идентифицироваться kCFXMLNodeCurrentVersion постоянный; более ранние версии могут идентифицироваться и использоваться путем передачи более ранних значений для номера версии (несмотря на то, что более старые структуры были бы удалены из заголовка).
Вы создаете объект CFXMLNode использование одного из создавания или копируете функции. Используйте CFXMLNodeGetTypeCode, CFXMLNodeGetString, и CFXMLNodeGetInfoPtr функции для получения типа узла, строки данных и дополнительной информации соответственно. Используйте CFXMLNodeGetVersion функция для получения номера версии узла.
-
CFXMLNodeCreate CFXMLNodeCreate(OS X v10.8)Создает новый CFXMLNode.
Объявление
Objective C
CFXMLNodeRef CFXMLNodeCreate ( CFAllocatorRef alloc, CFXMLNodeTypeCode xmlType, CFStringRef dataString, const void *additionalInfoPtr, CFIndex version );Параметры
allocСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.xmlTypeКод идентификатора типа для структуры XML Вы хотите, чтобы этот узел описал.
dataStringДанные XML.
additionalInfoPtrУказатель на структуру, содержащую дополнительную информацию о данных XML.
versionНомер версии CFXMLNode возражает, что Вы хотите создать. Передайте одну из предопределенных констант, обычно
kCFXMLNodeCurrentVersion.Возвращаемое значение
Новый объект CFXMLNode. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLNodeCreateCopy CFXMLNodeCreateCopy(OS X v10.8)Создает копию объекта CFXMLNode.
Объявление
Objective C
CFXMLNodeRef CFXMLNodeCreateCopy ( CFAllocatorRef alloc, CFXMLNodeRef origNode );Параметры
allocСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.origNodeУзел для копирования. Не передавать
NULL.Возвращаемое значение
Новый объект CFXMLNode. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLNodeGetInfoPtr CFXMLNodeGetInfoPtr(OS X v10.8)Возвращает указатель дополнительной информации объекта CFXMLNode.
Объявление
Objective C
const void * CFXMLNodeGetInfoPtr ( CFXMLNodeRef node );Параметры
nodeCFXMLNode возражают для исследования.
Возвращаемое значение
Указатель на структуру, содержащую дополнительную информацию. Версия CFXMLNode вместе с типом узла определяет ожидаемую структуру. Посмотрите, что возвратился Код Типа узла для получения информации о возможных структурах. Если возвращенное значение является Базовым объектом Основы, владение соблюдает Получить Правило.
Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLNodeGetString CFXMLNodeGetString(OS X v10.8)Возвращает строку данных из CFXMLNode.
Объявление
Objective C
CFStringRef CFXMLNodeGetString ( CFXMLNodeRef node );Параметры
nodeCFXMLNode возражают для исследования.
Возвращаемое значение
Данные представляют в виде строки от
node. Владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLNodeGetTypeCode CFXMLNodeGetTypeCode(OS X v10.8)Возвращает код типа структуры XML для объекта CFXMLNode.
Объявление
Objective C
CFXMLNodeTypeCode CFXMLNodeGetTypeCode ( CFXMLNodeRef node );Параметры
nodeCFXMLNode возражают для исследования.
Возвращаемое значение
Код типа для
node.Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLNodeGetTypeID CFXMLNodeGetTypeID(OS X v10.8)Возвращает код идентификатора типа для непрозрачного типа CFXMLNode.
Объявление
Objective C
CFTypeID CFXMLNodeGetTypeID ( void );Возвращаемое значение
Идентификатор типа для непрозрачного типа CFXMLNode.
Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
CFXMLNodeGetVersion CFXMLNodeGetVersion(OS X v10.8)Возвращает номер версии для объекта CFXMLNode.
Объявление
Objective C
CFIndex CFXMLNodeGetVersion ( CFXMLNodeRef node );Параметры
nodeCFXMLNode возражают для исследования.
Возвращаемое значение
Номер версии
node.Оператор импорта
Objective C
@import CoreFoundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.8.
-
Содержит информацию об определении атрибута элемента.
Объявление
Swift
struct CFXMLAttributeDeclarationInfo { var attributeName: Unmanaged<CFString>! var typeString: Unmanaged<CFString>! var defaultString: Unmanaged<CFString>! }Objective C
struct CFXMLAttributeDeclarationInfo { CFStringRef attributeName; CFStringRef typeString; CFStringRef defaultString; }; typedef struct CFXMLAttributeDeclarationInfo CFXMLAttributeDeclarationInfo;Поля
attributeNameИмя атрибута.
typeStringОписывает объявление единственного атрибута.
defaultStringЗначение по умолчанию атрибута.
Обсуждение
Эта структура является частью определения
CFXMLAttributeListDeclarationInfoструктура.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит список атрибутов, связанных с элементом.
Объявление
Swift
struct CFXMLAttributeListDeclarationInfo { var numberOfAttributes: CFIndex var attributes: UnsafeMutablePointer<CFXMLAttributeDeclarationInfo> }Objective C
struct CFXMLAttributeListDeclarationInfo { CFIndex numberOfAttributes; CFXMLAttributeDeclarationInfo *attributes; }; typedef struct CFXMLAttributeListDeclarationInfo CFXMLAttributeListDeclarationInfo;Поля
numberOfAttributesЧисло атрибутов в массиве.
attributesМассив C атрибутов.
Обсуждение
Когда синтаксический анализатор встречается с объявлением атрибута в DTD, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя на эту структуру.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит источник URL и текст, кодирующий информацию для XML-документа.
Объявление
Swift
struct CFXMLDocumentInfo { var sourceURL: Unmanaged<CFURL>! var encoding: CFStringEncoding }Objective C
struct CFXMLDocumentInfo { CFURLRef sourceURL; CFStringEncoding encoding; }; typedef struct CFXMLDocumentInfo CFXMLDocumentInfo;Поля
sourceURLИсточник URL XML-документа.
encodingТекстовое кодирование XML-документа.
Обсуждение
Когда синтаксический анализатор встречается с определением XML, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит внешний ID DTD.
Объявление
Swift
struct CFXMLDocumentTypeInfo { var externalID: CFXMLExternalID }Objective C
struct CFXMLDocumentTypeInfo { CFXMLExternalID externalID; }; typedef struct CFXMLDocumentTypeInfo CFXMLDocumentTypeInfo;Поля
externalIDВнешний ID DTD.
Обсуждение
Когда синтаксический анализатор встречается с началом DTD, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя на эту структуру.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит список атрибутов элемента, упакованных как пары ключ/значение CFDictionary.
Объявление
Swift
struct CFXMLElementInfo { var attributes: Unmanaged<CFDictionary>! var attributeOrder: Unmanaged<CFArray>! var isEmpty: Boolean var _reserved: (Int8, Int8, Int8) }Objective C
struct CFXMLElementInfo { CFDictionaryRef attributes; CFArrayRef attributeOrder; Boolean isEmpty; }; typedef struct CFXMLElementInfo CFXMLElementInfo;Поля
attributesСловарь значений атрибута.
attributeOrderМассив, указывающий порядок, в котором атрибуты появились в XML-документе.
isEmptyФлаг, указывающий, был ли элемент выражен в закрытой форме.
Обсуждение
Когда синтаксический анализатор встречается с элементом, содержащим атрибуты, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит описание типа элемента.
Объявление
Swift
struct CFXMLElementTypeDeclarationInfo { var contentDescription: Unmanaged<CFString>! }Objective C
struct CFXMLElementTypeDeclarationInfo { CFStringRef contentDescription; }; typedef struct CFXMLElementTypeDeclarationInfo CFXMLElementTypeDeclarationInfo;Поля
contentDescriptionТекстовое описание типа элемента.
Обсуждение
Указатель на эту структуру включен в CFXMLNode, переданный Вашему приложению когда обнаружение синтаксического анализатора и описание типа элемента. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя на эту структуру.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит информацию, описывающую объект XML.
Объявление
Swift
struct CFXMLEntityInfo { var entityType: CFXMLEntityTypeCode var replacementText: Unmanaged<CFString>! var entityID: CFXMLExternalID var notationName: Unmanaged<CFString>! }Objective C
struct CFXMLEntityInfo { CFXMLEntityTypeCode entityType; CFStringRef replacementText; CFXMLExternalID entityID; CFStringRef notationName; }; typedef struct CFXMLEntityInfo CFXMLEntityInfo;Поля
entityTypeКод типа объекта.
replacementTextNULLеслиentityTypeявляется внешним или не проанализирован, иначе текст, которым должен быть заменен объект.entityIDentityID.systemIDбудетNULLеслиentityTypeявляется внутренним.notationNameNULLеслиentityTypeанализируется.Обсуждение
Когда синтаксический анализатор встречается с объявлением сущности, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя на эту структуру.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит информацию, описывающую ссылку на сущность XML.
Объявление
Swift
struct CFXMLEntityReferenceInfo { var entityType: CFXMLEntityTypeCode }Objective C
struct CFXMLEntityReferenceInfo { CFXMLEntityTypeCode entityType; }; typedef struct CFXMLEntityReferenceInfo CFXMLEntityReferenceInfo;Поля
entityTypeКод типа объекта.
Обсуждение
Когда синтаксический анализатор встречается со ссылкой на сущность, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит систему и общедоступный IDs для внешней ссылки на сущность.
Объявление
Swift
struct CFXMLExternalID { var systemID: Unmanaged<CFURL>! var publicID: Unmanaged<CFString>! }Objective C
struct CFXMLExternalID { CFURLRef systemID; CFStringRef publicID; }; typedef struct CFXMLExternalID CFXMLExternalID;Поля
systemIDsystemID URL.
publicIDСтрока publicID.
Обсуждение
Эта структура является частью определения
CFXMLDocumentTypeInfo,CFXMLNotationInfo, иCFXMLEntityInfoструктуры.Доступность
Доступный в OS X v10.0 и позже.
-
Ссылка на объект CFXMLNode.
Объявление
Swift
typealias CFXMLNodeRef = CFXMLNodeObjective C
typedef const struct __CFXMLNode *CFXMLNodeRef;Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
Содержит внешний ID нотации.
Объявление
Swift
struct CFXMLNotationInfo { var externalID: CFXMLExternalID }Objective C
struct CFXMLNotationInfo { CFXMLExternalID externalID; }; typedef struct CFXMLNotationInfo CFXMLNotationInfo;Поля
externalIDВнешний ID нотации.
Обсуждение
Когда синтаксический анализатор встречается с элементом нотации, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя на эту структуру.Доступность
Доступный в OS X v10.0 и позже.
-
Содержит текст инструкции обработки.
Объявление
Swift
struct CFXMLProcessingInstructionInfo { var dataString: Unmanaged<CFString>! }Objective C
struct CFXMLProcessingInstructionInfo { CFStringRef dataString; }; typedef struct CFXMLProcessingInstructionInfo CFXMLProcessingInstructionInfo;Поля
dataStringТекст инструкции обработки.
Обсуждение
Когда синтаксический анализатор встречается с инструкцией обработки, указатель на эту структуру включен в объект CFXMLNode, переданный Вашему приложению. Используйте
CFXMLNodeGetInfoPtrфункция для получения указателя.Доступность
Доступный в OS X v10.0 и позже.
-
Идентификационные коды типа объекта, что использование синтаксического анализатора для описания объектов XML.
Объявление
Swift
enum CFXMLEntityTypeCode : CFIndex { case Parameter case ParsedInternal case ParsedExternal case Unparsed case Character }Objective C
enum CFXMLEntityTypeCode { kCFXMLEntityTypeParameter = 0, kCFXMLEntityTypeParsedInternal = 1, kCFXMLEntityTypeParsedExternal = 2, kCFXMLEntityTypeUnparsed = 3, kCFXMLEntityTypeCharacter = 4 }; typedef enum CFXMLEntityTypeCode CFXMLEntityTypeCode;Константы
-
ParameterkCFXMLEntityTypeParameterПодразумевает проанализированный, внутренний объект.
Доступный в OS X v10.0 и позже.
-
ParsedInternalkCFXMLEntityTypeParsedInternalУказывает проанализированный, внутренний объект.
Доступный в OS X v10.0 и позже.
-
ParsedExternalkCFXMLEntityTypeParsedExternalУказывает проанализированный, внешний объект.
Доступный в OS X v10.0 и позже.
-
UnparsedkCFXMLEntityTypeUnparsedУказывает непроанализированный объект.
Доступный в OS X v10.0 и позже.
-
CharacterkCFXMLEntityTypeCharacterУказывает тип символьной сущности.
Доступный в OS X v10.0 и позже.
Обсуждение
Эти коды используются с
CFXMLEntityInfoиCFXMLEntityReferenceInfoструктуры.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
-
Версия объекта CFXMLNode.
Объявление
Swift
var kCFXMLNodeCurrentVersion: Int { get }Objective C
enum { kCFXMLNodeCurrentVersion = 1 };Константы
-
Различные данные XML вводят идентификационные коды что использование синтаксического анализатора для описания структур XML.
Объявление
Swift
enum CFXMLNodeTypeCode : CFIndex { case Document case Element case Attribute case ProcessingInstruction case Comment case Text case CDATASection case DocumentFragment case Entity case EntityReference case DocumentType case Whitespace case Notation case ElementTypeDeclaration case AttributeListDeclaration }Objective C
enum CFXMLNodeTypeCode { kCFXMLNodeTypeDocument = 1, kCFXMLNodeTypeElement = 2, kCFXMLNodeTypeAttribute = 3, kCFXMLNodeTypeProcessingInstruction = 4, kCFXMLNodeTypeComment = 5, kCFXMLNodeTypeText = 6, kCFXMLNodeTypeCDATASection = 7, kCFXMLNodeTypeDocumentFragment = 8, kCFXMLNodeTypeEntity = 9, kCFXMLNodeTypeEntityReference = 10, kCFXMLNodeTypeDocumentType = 11, kCFXMLNodeTypeWhitespace = 12, kCFXMLNodeTypeNotation = 13, kCFXMLNodeTypeElementTypeDeclaration = 14, kCFXMLNodeTypeAttributeListDeclaration = 15 }; typedef enum CFXMLNodeTypeCode CFXMLNodeTypeCode;Константы
-
DocumentkCFXMLNodeTypeDocumentУказывает документ, где строка данных
NULLи дополнительной информацией является указатель на aCFXMLDocumentInfoструктура.Доступный в OS X v10.0 и позже.
-
ElementkCFXMLNodeTypeElementУказывает элемент, где строка данных является именем тега, и дополнительной информацией является указатель на a
CFXMLElementInfoструктура.Доступный в OS X v10.0 и позже.
-
AttributekCFXMLNodeTypeAttributeВ настоящее время не используемый.
Доступный в OS X v10.0 и позже.
-
ProcessingInstructionkCFXMLNodeTypeProcessingInstructionУказывает инструкцию обработки, где строка данных является именем цели, и дополнительной информацией является указатель на a
CFXMLProcessingInstructionInfoструктура.Доступный в OS X v10.0 и позже.
-
CommentkCFXMLNodeTypeCommentУказывает раздел комментария, где строка данных является текстом комментария, и дополнительная информация
NULL.Доступный в OS X v10.0 и позже.
-
TextkCFXMLNodeTypeTextУказывает текстовый раздел, где строка данных является содержанием текста, и дополнительная информация
NULL.Доступный в OS X v10.0 и позже.
-
CDATASectionkCFXMLNodeTypeCDATASectionУказывает раздел CDATA, где строка данных является текстом CDATA, и дополнительная информация
NULL.Доступный в OS X v10.0 и позже.
-
DocumentFragmentkCFXMLNodeTypeDocumentFragmentВ настоящее время не используемый.
Доступный в OS X v10.0 и позже.
-
EntitykCFXMLNodeTypeEntityУказывает объект, где строка данных является именем объекта, и дополнительной информацией является указатель на a
CFXMLEntityInfoструктура.Доступный в OS X v10.0 и позже.
-
EntityReferencekCFXMLNodeTypeEntityReferenceУказывает ссылку на сущность, где строка данных является именем объекта, на который ссылаются, и дополнительной информацией является указатель на a
CFXMLEntityReferenceInfoструктура.Доступный в OS X v10.0 и позже.
-
DocumentTypekCFXMLNodeTypeDocumentTypeУказывает тип документа, где строка данных является именем, данным элементу верхнего уровня, и дополнительной информацией является указатель на a
CFXMLDocumentTypeInfoструктура.Доступный в OS X v10.0 и позже.
-
WhitespacekCFXMLNodeTypeWhitespaceУказывает пробел, где строка данных является текстом пробела, и дополнительная информация
NULL.Доступный в OS X v10.0 и позже.
-
NotationkCFXMLNodeTypeNotationУказывает нотацию, где строка данных является именем нотации, и дополнительной информацией является указатель на a
CFXMLNotationInfoструктура.Доступный в OS X v10.0 и позже.
-
ElementTypeDeclarationkCFXMLNodeTypeElementTypeDeclarationУказывает описание типа элемента, где строка данных является именем тега, и дополнительной информацией является указатель на a
CFXMLElementTypeDeclarationInfoструктура.Доступный в OS X v10.0 и позже.
-
AttributeListDeclarationkCFXMLNodeTypeAttributeListDeclarationУказывает объявление списка атрибутов, где строка данных является именем тега, и дополнительной информацией является указатель на a
CFXMLAttributeListDeclarationInfoструктура.Доступный в OS X v10.0 и позже.
Обсуждение
Когда синтаксический анализатор встречается с новой структурой XML, ее тип данных и содержание помещаются в объект CFXMLNode.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в OS X v10.0 и позже.
-
