]> git.saurik.com Git - apple/cf.git/blobdiff - Parsing.subproj/CFXMLNode.h
CF-476.10.tar.gz
[apple/cf.git] / Parsing.subproj / CFXMLNode.h
diff --git a/Parsing.subproj/CFXMLNode.h b/Parsing.subproj/CFXMLNode.h
deleted file mode 100644 (file)
index 7bb0b62..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-/*     CFXMLNode.h
-       Copyright (c) 1998-2005, Apple, Inc. All rights reserved.
-*/
-
-#if !defined(__COREFOUNDATION_CFXMLNODE__)
-#define __COREFOUNDATION_CFXMLNODE__ 1
-
-#include <CoreFoundation/CFArray.h>
-#include <CoreFoundation/CFDictionary.h>
-#include <CoreFoundation/CFString.h>
-#include <CoreFoundation/CFTree.h>
-#include <CoreFoundation/CFURL.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-enum {
-       kCFXMLNodeCurrentVersion = 1
-};
-
-typedef const struct __CFXMLNode * CFXMLNodeRef;
-typedef CFTreeRef CFXMLTreeRef;
-
-/*  An CFXMLNode describes an individual XML construct - like a tag, or a comment, or a string
-    of character data.  Each CFXMLNode contains 3 main pieces of information - the node's type,
-    the data string, and a pointer to an additional data structure.  The node's type ID is an enum
-    value of type CFXMLNodeTypeID.  The data string is always a CFStringRef; the meaning of the
-    string is dependent on the node's type ID. The format of the additional data is also dependent
-    on the node's type; in general, there is a custom structure for each type that requires
-    additional data.  See below for the mapping from type ID to meaning of the data string and
-    structure of the additional data.  Note that these structures are versioned, and may change
-    as the parser changes.  The current version can always be identified by kCFXMLNodeCurrentVersion;
-    earlier versions can be identified and used by passing earlier values for the version number
-    (although the older structures would have been removed from the header).
-
-    An CFXMLTree is simply a CFTree whose context data is known to be an CFXMLNodeRef.  As
-    such, an CFXMLTree can be used to represent an entire XML document; the CFTree
-    provides the tree structure of the document, while the CFXMLNodes identify and describe
-    the nodes of the tree.  An XML document can be parsed to a CFXMLTree, and a CFXMLTree
-    can generate the data for the equivalent XML document - see CFXMLParser.h for more
-    information on parsing XML.
-    */
-
-/* Type codes for the different possible XML nodes; this list may grow.*/
-typedef enum {
-    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
-} CFXMLNodeTypeCode;
-
-typedef struct {
-    CFDictionaryRef attributes;
-    CFArrayRef attributeOrder;
-    Boolean isEmpty;
-    char _reserved[3];
-} CFXMLElementInfo;
-
-typedef struct {
-    CFStringRef dataString;
-} CFXMLProcessingInstructionInfo;
-
-typedef struct {
-    CFURLRef sourceURL;
-    CFStringEncoding encoding;
-} CFXMLDocumentInfo;
-
-typedef struct {
-    CFURLRef systemID;
-    CFStringRef publicID;
-} CFXMLExternalID;
-
-typedef struct {
-    CFXMLExternalID externalID;
-} CFXMLDocumentTypeInfo;
-
-typedef struct {
-    CFXMLExternalID externalID;
-} CFXMLNotationInfo;
-
-typedef struct {
-    /* This is expected to change in future versions */
-    CFStringRef contentDescription;
-} CFXMLElementTypeDeclarationInfo;
-
-typedef struct {
-    /* This is expected to change in future versions */
-    CFStringRef attributeName;
-    CFStringRef typeString;
-    CFStringRef defaultString;
-} CFXMLAttributeDeclarationInfo;
-
-typedef struct {
-    CFIndex numberOfAttributes;
-    CFXMLAttributeDeclarationInfo *attributes;
-} CFXMLAttributeListDeclarationInfo;
-
-typedef enum {
-    kCFXMLEntityTypeParameter,       /* Implies parsed, internal */
-    kCFXMLEntityTypeParsedInternal,
-    kCFXMLEntityTypeParsedExternal,
-    kCFXMLEntityTypeUnparsed,
-    kCFXMLEntityTypeCharacter
-} CFXMLEntityTypeCode;
-
-typedef struct {
-    CFXMLEntityTypeCode entityType;
-    CFStringRef replacementText;     /* NULL if entityType is external or unparsed */
-    CFXMLExternalID entityID;          /* entityID.systemID will be NULL if entityType is internal */
-    CFStringRef notationName;        /* NULL if entityType is parsed */
-} CFXMLEntityInfo;
-
-typedef struct {
-    CFXMLEntityTypeCode entityType;
-} CFXMLEntityReferenceInfo;
-
-/*
- dataTypeCode                       meaning of dataString                format of infoPtr
- ===========                        =====================                =================
- kCFXMLNodeTypeDocument             <currently unused>                   CFXMLDocumentInfo *
- kCFXMLNodeTypeElement              tag name                             CFXMLElementInfo *
- kCFXMLNodeTypeAttribute            <currently unused>                   <currently unused>
- kCFXMLNodeTypeProcessingInstruction   name of the target                   CFXMLProcessingInstructionInfo *
- kCFXMLNodeTypeComment              text of the comment                  NULL
- kCFXMLNodeTypeText                 the text's contents                  NULL
- kCFXMLNodeTypeCDATASection         text of the CDATA                    NULL
- kCFXMLNodeTypeDocumentFragment     <currently unused>                   <currently unused>
- kCFXMLNodeTypeEntity               name of the entity                   CFXMLEntityInfo *
- kCFXMLNodeTypeEntityReference      name of the referenced entity        CFXMLEntityReferenceInfo *
- kCFXMLNodeTypeDocumentType         name given as top-level element      CFXMLDocumentTypeInfo *
- kCFXMLNodeTypeWhitespace           text of the whitespace               NULL
- kCFXMLNodeTypeNotation             notation name                        CFXMLNotationInfo *
- kCFXMLNodeTypeElementTypeDeclaration     tag name                       CFXMLElementTypeDeclarationInfo *
- kCFXMLNodeTypeAttributeListDeclaration   tag name                       CFXMLAttributeListDeclarationInfo *
-*/
-
-CF_EXPORT
-CFTypeID CFXMLNodeGetTypeID(void);
-
-/* Creates a new node based on xmlType, dataString, and additionalInfoPtr.  version (together with xmlType) determines the expected structure of additionalInfoPtr */
-CF_EXPORT
-CFXMLNodeRef CFXMLNodeCreate(CFAllocatorRef alloc, CFXMLNodeTypeCode xmlType, CFStringRef dataString, const void *additionalInfoPtr, CFIndex version);
-
-/* Creates a copy of origNode (which may not be NULL). */
-CF_EXPORT
-CFXMLNodeRef CFXMLNodeCreateCopy(CFAllocatorRef alloc, CFXMLNodeRef origNode);
-
-CF_EXPORT
-CFXMLNodeTypeCode CFXMLNodeGetTypeCode(CFXMLNodeRef node);
-
-CF_EXPORT
-CFStringRef CFXMLNodeGetString(CFXMLNodeRef node);
-
-CF_EXPORT
-const void *CFXMLNodeGetInfoPtr(CFXMLNodeRef node);
-
-CF_EXPORT
-CFIndex CFXMLNodeGetVersion(CFXMLNodeRef node);
-
-/* CFXMLTreeRef */
-
-/* Creates a childless, parentless tree from node */
-CF_EXPORT
-CFXMLTreeRef CFXMLTreeCreateWithNode(CFAllocatorRef allocator, CFXMLNodeRef node);
-
-/* Extracts and returns the node stored in xmlTree */
-CF_EXPORT
-CFXMLNodeRef CFXMLTreeGetNode(CFXMLTreeRef xmlTree);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* ! __COREFOUNDATION_CFXMLNODE__ */
-