CFXMLNode_HD.h
Functions
Abstract: Creates a new CFXMLNode.
CFXMLNodeRef CFXMLNodeCreate(CFAllocatorRef alloc, CFXMLNodeTypeCode xmlType, CFStringRef dataString, const void *additionalInfoPtr, CFIndex version);
Parameters
Name | Description |
alloc | The memory allocator to use. Pass NULL or kCFAllocatorDefault to use the system allocator. |
xmlType | Type identifier code for the XML structure you want this node to describe. |
dataString | The XML data. |
additionalInfoPtr | A pointer to a structure containing additional information about the XML data. |
version | The version number of the CFXMLNode you want to create. Pass one of the pre-defined constants, typically kCFXMLNodeCurrentVersion. |
Result: The newly created CFXMLNode.
Abstract: Creates a copy of a CFXMLNode.
CFXMLNodeRef CFXMLNodeCreateCopy(CFAllocatorRef alloc, CFXMLNodeRef origNode);
Parameters
Name | Description |
alloc | The memory allocator to use. Pass NULL or kCFAllocatorDefault to use the system allocator. |
origNode | The node to copy. Do not pass NULL. |
Result: The newly created CFXMLNode.
Abstract: Obtains the additional info pointer from the CFXMLNode.
const void *CFXMLNodeGetInfoPtr(CFXMLNodeRef node);
Parameters
Name | Description |
node | The CFXMLNode whose additional info pointer you wish to obtain. |
Result: The additional info pointer from the CFXMLNode. See CFXMLNodeTypeCode for information about the the various structures that are returned in the additional info pointer.
Abstract: Obtains the data string from the CFXMLNode.
CFStringRef CFXMLNodeGetString(CFXMLNodeRef node);
Parameters
Name | Description |
node | The CFXMLNode whose data string you wish to obtain. |
Result: The data string from the CFXMLNode.
Abstract: Obtains the XML structure type code for the CFXMLNode.
CFXMLNodeTypeCode CFXMLNodeGetTypeCode(CFXMLNodeRef node);
Parameters
Name | Description |
node | The CFXMLNode whose type code you wish to obtain. |
Result: The type code for the CFXMLNode.
Abstract: Obtains the Core Foundation type identifier code for a CFXMLNode.
CFTypeID CFXMLNodeGetTypeID(void);
Result: The type identifier.
Abstract: Obtains the version number for the CFXMLNode.
CFIndex CFXMLNodeGetVersion(CFXMLNodeRef node);
Parameters
Name | Description |
node | The CFXMLNode whose version number you wish to obtain. |
Result: The version number for the CFXMLNode.
Abstract: Creates a childless, parentless CFXMLTree node using a CFXMLNode.
CFXMLTreeRef CFXMLTreeCreateWithNode(CFAllocatorRef allocator, CFXMLNodeRef node);
A CFXMLTree is simply a type of CFTree that has only CFXMLNodes along with known contexts and callbacks.
Parameters
Name | Description |
allocator | The memory allocator to use. Pass NULL or kCFAllocatorDefault to use the system allocator. |
node | The CFXMLNode to use when creating the new CFXMLTree node. |
Result: The CFXMLTree node.
Abstract: Obtains a CFXMLNode from a CFXMLTree.
CFXMLNodeRef CFXMLTreeGetNode(CFXMLTreeRef xmlTree);
A CFXMLTree is simply a type of CFTree that has only CFXMLNodes along with known contexts and callbacks.
Parameters
Name | Description |
CFXMLTree | The CFXMLTree node from which the CFXMLNode will be extracted. |
Result: The CFXMLNode.
Typedefs
typedef struct {
/* This is expected to change in future versions */
CFStringRef attributeName;
CFStringRef typeString;
CFStringRef defaultString;
} CFXMLAttributeDeclarationInfo;
This structure is part of the definition of the CFXMLAttributeListDeclarationInfo structure.
Fields
Name | Description |
attributeName | The name of the attribute. |
typeString | Describes the declaration of a single attribute. |
defaultString | The attribute's default value. |
typedef struct {
CFIndex numberOfAttributes;
CFXMLAttributeDeclarationInfo *attributes;
} CFXMLAttributeListDeclarationInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters an attribute declaration in the DTD. Use the function CFXMLNodeGetInfoPtr to obtain the pointer to this structure.
Fields
Name | Description |
numberOfAttributes | The number of attributes in the array. |
attributes | An array of attributes. |
typedef struct {
CFURLRef sourceURL;
CFStringEncoding encoding;
} CFXMLDocumentInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters the XML declaration. Use the function CFXMLNodeGetInfoPtr to obtain the pointer.
Fields
Name | Description |
sourceURL | The source URL of the XML document. |
encoding | The text encoding of the XML document. |
typedef struct {
CFXMLExternalID externalID;
} CFXMLDocumentTypeInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters the the beginning of the DTD. Use the function CFXMLNodeGetInfoPtr to obtain a pointer to this structure.
Fields
Name | Description |
externalID | The external ID of the DTD. |
typedef struct {
CFDictionaryRef attributes;
CFArrayRef attributeOrder;
Boolean isEmpty;
} CFXMLElementInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters an element containing attributes. Use the function CFXMLNodeGetInfoPtr to obtain the pointer.
Fields
Name | Description |
attributes | The dictionary of attribute values. |
attributeOrder | An array specifying the order in which the attributes appeared in the XML document. |
isEmpty | A flag indicating whether the element was expressed in closed form. |
typedef struct {
/* This is expected to change in future versions */
CFStringRef contentDescription;
} CFXMLElementTypeDeclarationInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters and element type declaration. Use the function CFXMLNodeGetInfoPtr to obtain a pointer to this structure.
Fields
Name | Description |
contentDescription | A textual description of the element type. |
typedef struct {
CFXMLEntityTypeCode entityType;
CFStringRef replacementText;
CFXMLExternalID entityID;
CFStringRef notationName;
} CFXMLEntityInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters an entity declaration. Use the function CFXMLNodeGetInfoPtr to obtain a pointer to this structure.
Fields
Name | Description |
entityType | The entity type code. |
replacementText | NULL if entityType is external or unparsed, otherwise the text that the entity should be replaced with. |
entityID | entityID.systemID will be NULL if entityType is internal. |
notationName | NULL if entityType is parsed. |
typedef struct {
CFXMLEntityTypeCode entityType;
} CFXMLEntityReferenceInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters an entity reference. Use the function CFXMLNodeGetInfoPtr to obtain the pointer.
Fields
Name | Description |
entityType | The entity type code. |
typedef struct {
CFURLRef systemID;
CFStringRef publicID;
} CFXMLExternalID;
This structure is part of the definition of the CFXMLDocumentTypeInfo, CFXMLNotationInfo, and CFXMLEntityInfo structures.
Fields
Name | Description |
systemID | The systemID URL. |
publicID | The publicID string. |
typedef const struct __CFXMLNode * CFXMLNodeRef;
typedef struct {
CFXMLExternalID externalID;
} CFXMLNotationInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters . Use the function CFXMLNodeGetInfoPtr to obtain a pointer to this structure.
Fields
Name | Description |
externalID | The external ID of the notation. |
typedef struct {
CFStringRef dataString;
} CFXMLProcessingInstructionInfo;
A pointer to this structure is included in the CFXMLNode passed to your application when the parser encounters a processing instruction. Use the function CFXMLNodeGetInfoPtr to obtain the pointer.
Fields
Name | Description |
dataString | The text of the processing instruction. |
typedef CFTreeRef CFXMLTreeRef;
When using the high-level parser API, XML data is parsed to a special CFTree which is simply a CFXMLTree with known contexts and callbacks. The nodes of a CFXMLTree may be queried using the basic CFTree interface (to report on the structure of the tree itself), or via the functions here (to report on the XML contents of the nodes).
© 2000 Apple Computer, Inc. (Last Updated 7/20/2000)