Ссылка 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 );
Параметры
node
CFXMLNode возражают для исследования.
Возвращаемое значение
Указатель на структуру, содержащую дополнительную информацию. Версия 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 );
Параметры
node
CFXMLNode возражают для исследования.
Возвращаемое значение
Данные представляют в виде строки от
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 );
Параметры
node
CFXMLNode возражают для исследования.
Возвращаемое значение
Код типа для
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 );
Параметры
node
CFXMLNode возражают для исследования.
Возвращаемое значение
Номер версии
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
Код типа объекта.
replacementText
NULL
еслиentityType
является внешним или не проанализирован, иначе текст, которым должен быть заменен объект.entityID
entityID.systemID
будетNULL
еслиentityType
является внутренним.notationName
NULL
если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;
Поля
systemID
systemID URL.
publicID
Строка publicID.
Обсуждение
Эта структура является частью определения
CFXMLDocumentTypeInfo
,CFXMLNotationInfo
, иCFXMLEntityInfo
структуры.Доступность
Доступный в OS X v10.0 и позже.
-
Ссылка на объект CFXMLNode.
Объявление
Swift
typealias CFXMLNodeRef = CFXMLNode
Objective 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;
Константы
-
Parameter
kCFXMLEntityTypeParameter
Подразумевает проанализированный, внутренний объект.
Доступный в OS X v10.0 и позже.
-
ParsedInternal
kCFXMLEntityTypeParsedInternal
Указывает проанализированный, внутренний объект.
Доступный в OS X v10.0 и позже.
-
ParsedExternal
kCFXMLEntityTypeParsedExternal
Указывает проанализированный, внешний объект.
Доступный в OS X v10.0 и позже.
-
Unparsed
kCFXMLEntityTypeUnparsed
Указывает непроанализированный объект.
Доступный в OS X v10.0 и позже.
-
Character
kCFXMLEntityTypeCharacter
Указывает тип символьной сущности.
Доступный в 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;
Константы
-
Document
kCFXMLNodeTypeDocument
Указывает документ, где строка данных
NULL
и дополнительной информацией является указатель на aCFXMLDocumentInfo
структура.Доступный в OS X v10.0 и позже.
-
Element
kCFXMLNodeTypeElement
Указывает элемент, где строка данных является именем тега, и дополнительной информацией является указатель на a
CFXMLElementInfo
структура.Доступный в OS X v10.0 и позже.
-
Attribute
kCFXMLNodeTypeAttribute
В настоящее время не используемый.
Доступный в OS X v10.0 и позже.
-
ProcessingInstruction
kCFXMLNodeTypeProcessingInstruction
Указывает инструкцию обработки, где строка данных является именем цели, и дополнительной информацией является указатель на a
CFXMLProcessingInstructionInfo
структура.Доступный в OS X v10.0 и позже.
-
Comment
kCFXMLNodeTypeComment
Указывает раздел комментария, где строка данных является текстом комментария, и дополнительная информация
NULL
.Доступный в OS X v10.0 и позже.
-
Text
kCFXMLNodeTypeText
Указывает текстовый раздел, где строка данных является содержанием текста, и дополнительная информация
NULL
.Доступный в OS X v10.0 и позже.
-
CDATASection
kCFXMLNodeTypeCDATASection
Указывает раздел CDATA, где строка данных является текстом CDATA, и дополнительная информация
NULL
.Доступный в OS X v10.0 и позже.
-
DocumentFragment
kCFXMLNodeTypeDocumentFragment
В настоящее время не используемый.
Доступный в OS X v10.0 и позже.
-
Entity
kCFXMLNodeTypeEntity
Указывает объект, где строка данных является именем объекта, и дополнительной информацией является указатель на a
CFXMLEntityInfo
структура.Доступный в OS X v10.0 и позже.
-
EntityReference
kCFXMLNodeTypeEntityReference
Указывает ссылку на сущность, где строка данных является именем объекта, на который ссылаются, и дополнительной информацией является указатель на a
CFXMLEntityReferenceInfo
структура.Доступный в OS X v10.0 и позже.
-
DocumentType
kCFXMLNodeTypeDocumentType
Указывает тип документа, где строка данных является именем, данным элементу верхнего уровня, и дополнительной информацией является указатель на a
CFXMLDocumentTypeInfo
структура.Доступный в OS X v10.0 и позже.
-
Whitespace
kCFXMLNodeTypeWhitespace
Указывает пробел, где строка данных является текстом пробела, и дополнительная информация
NULL
.Доступный в OS X v10.0 и позже.
-
Notation
kCFXMLNodeTypeNotation
Указывает нотацию, где строка данных является именем нотации, и дополнительной информацией является указатель на a
CFXMLNotationInfo
структура.Доступный в OS X v10.0 и позже.
-
ElementTypeDeclaration
kCFXMLNodeTypeElementTypeDeclaration
Указывает описание типа элемента, где строка данных является именем тега, и дополнительной информацией является указатель на a
CFXMLElementTypeDeclarationInfo
структура.Доступный в OS X v10.0 и позже.
-
AttributeListDeclaration
kCFXMLNodeTypeAttributeListDeclaration
Указывает объявление списка атрибутов, где строка данных является именем тега, и дополнительной информацией является указатель на a
CFXMLAttributeListDeclarationInfo
структура.Доступный в OS X v10.0 и позже.
Обсуждение
Когда синтаксический анализатор встречается с новой структурой XML, ее тип данных и содержание помещаются в объект CFXMLNode.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-