00001 /* 00002 * Copyright 2003-2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 /* 00018 * @class AnyElement 00019 * @brief Struct that represents any XML element. 00020 * @author Susantha Kumara (susantha@opensource.lk, skumara@virtusa.com) 00021 */ 00022 00023 #if !defined(__ANYELEMENT_H__OF_AXIS_INCLUDED_) 00024 #define __ANYELEMENT_H__OF_AXIS_INCLUDED_ 00025 00026 #define MAX_NO_OF_ATTRIBUTES 100 00027 00028 typedef enum { START_ELEMENT=0, CHARACTER_ELEMENT, END_ELEMENT, 00029 START_PREFIX, END_PREFIX} XML_NODE_TYPE; 00030 00031 typedef struct 00032 { 00033 XML_NODE_TYPE m_type; 00034 const char* m_pchNameOrValue; 00035 const char* m_pchNamespace; 00036 /* each attribute has 3 entities: localname, namespace, value in order */ 00037 const char* m_pchAttributes[MAX_NO_OF_ATTRIBUTES*3]; 00038 } AnyElement; 00039 00040 #endif 00041