GNUstep CoreBase Library 0.2
CFXMLNode.h
1/* CFXMLNode.h
2
3 Copyright (C) 2010 Free Software Foundation, Inc.
4
5 Written by: Stefan Bidigaray
6 Date: December, 2011
7
8 This file is part of the GNUstep CoreBase Library.
9
10 This library is free software; you can redistribute it and/or
11 modify it under the terms of the GNU Lesser General Public
12 License as published by the Free Software Foundation; either
13 version 2.1 of the License, or (at your option) any later version.
14
15 This library is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19
20 You should have received a copy of the GNU Lesser General Public
21 License along with this library; see the file COPYING.LIB.
22 If not, see <http://www.gnu.org/licenses/> or write to the
23 Free Software Foundation, 51 Franklin Street, Fifth Floor,
24 Boston, MA 02110-1301, USA.
25*/
26
27#ifndef __CFCOREFOUNDATION_CFXMLNODE_H__
28#define __CFCOREFOUNDATION_CFXMLNODE_H__ 1
29
30#include <CoreFoundation/CFBase.h>
31#include <CoreFoundation/CFArray.h>
32#include <CoreFoundation/CFString.h>
33#include <CoreFoundation/CFTree.h>
34#include <CoreFoundation/CFURL.h>
35
36CF_EXTERN_C_BEGIN
40typedef const struct __CFXMLNode *CFXMLNodeRef;
41
42typedef enum
43{
44 kCFXMLEntityTypeParameter = 0,
45 kCFXMLEntityTypeParsedInternal = 1,
46 kCFXMLEntityTypeParsedExternal = 2,
47 kCFXMLEntityTypeUnparsed = 3,
48 kCFXMLEntityTypeCharacter = 4
49} CFXMLEntityTypeCode;
50
51enum
52{
53 kCFXMLNodeCurrentVersion = 1
54};
55
56typedef enum
57{
58 kCFXMLNodeTypeDocument = 1,
59 kCFXMLNodeTypeElement = 2,
60 kCFXMLNodeTypeAttribute = 3,
61 kCFXMLNodeTypeProcessingInstruction = 4,
62 kCFXMLNodeTypeComment = 5,
63 kCFXMLNodeTypeText = 6,
64 kCFXMLNodeTypeCDATASection = 7,
65 kCFXMLNodeTypeDocumentFragment = 8,
66 kCFXMLNodeTypeEntity = 9,
67 kCFXMLNodeTypeEntityReference = 10,
68 kCFXMLNodeTypeDocumentType = 11,
69 kCFXMLNodeTypeWhitespace = 12,
70 kCFXMLNodeTypeNotation = 13,
71 kCFXMLNodeTypeElementTypeDeclaration = 14,
72 kCFXMLNodeTypeAttributeListDeclaration = 15
73} CFXMLNodeTypeCode;
74
75typedef struct CFXMLExternalID CFXMLExternalID;
77{
78 CFURLRef systemID;
79 CFStringRef publicID;
80};
81
84{
85 CFStringRef attributeName;
86 CFStringRef typeString;
87 CFStringRef defaultString;
88};
89
93{
94 CFIndex numberOfAttributes;
96};
97
100{
101 CFURLRef sourceURL;
102 CFStringEncoding encoding;
103};
104
107{
108 CFXMLExternalID externalID;
109};
110
113{
114 CFDictionaryRef attributes;
115 CFArrayRef attributeOrder;
116 Boolean isEmpty;
117};
118
121{
122 CFStringRef contentDescription;
123};
124
125typedef struct CFXMLEntityInfo CFXMLEntityInfo;
127{
128 CFXMLEntityTypeCode entityType;
129 CFStringRef replacementText;
130 CFXMLExternalID entityID;
131 CFStringRef notationName;
132};
133
136{
137 CFXMLEntityTypeCode entityType;
138};
139
142{
143 CFXMLExternalID externalID;
144};
145
148{
149 CFStringRef dataString;
150};
151
152CF_EXPORT CFTypeID CFXMLNodeGetTypeID (void);
153
154CF_EXPORT CFXMLNodeRef
155CFXMLNodeCreate (CFAllocatorRef alloc, CFXMLNodeTypeCode xmlType,
156 CFStringRef dataString, const void *additionalInfoPtr,
157 CFIndex version);
158
159CF_EXPORT CFXMLNodeRef
160CFXMLNodeCreateCopy (CFAllocatorRef alloc, CFXMLNodeRef origNode);
161
162CF_EXPORT const void *CFXMLNodeGetInfoPtr (CFXMLNodeRef node);
163
164CF_EXPORT CFStringRef CFXMLNodeGetString (CFXMLNodeRef node);
165
166CF_EXPORT CFXMLNodeTypeCode CFXMLNodeGetTypeCode (CFXMLNodeRef node);
167
168CF_EXPORT CFIndex CFXMLNodeGetVersion (CFXMLNodeRef node);
169
170typedef CFTreeRef CFXMLTreeRef;
171
172CF_EXPORT CFXMLTreeRef
173CFXMLTreeCreateWithNode (CFAllocatorRef allocator, CFXMLNodeRef node);
174
175CF_EXPORT CFXMLNodeRef CFXMLTreeGetNode (CFXMLTreeRef xmlTree);
178CF_EXTERN_C_END
179#endif /* __CFCOREFOUNDATION_CFXMLNODE_H__ */
signed long CFIndex
Definition CFBase.h:165
const struct __CFAllocator * CFAllocatorRef
A reference to a CFAllocator object.
Definition CFBase.h:301
const struct __CFArray * CFArrayRef
Reference to an immutable array object.
Definition CFArray.h:37
Definition CFXMLNode.h:84
Definition CFXMLNode.h:93
Definition CFXMLNode.h:100
Definition CFXMLNode.h:107
Definition CFXMLNode.h:113
Definition CFXMLNode.h:121
Definition CFXMLNode.h:127
Definition CFXMLNode.h:136
Definition CFXMLNode.h:77
Definition CFXMLNode.h:142
Definition CFXMLNode.h:148