xsdnode.h
Go to the documentation of this file.
/***************************************************************************
begin : Wed Feb 27 2008
copyright : (C) 2008 by Martin Preuss
email : martin@libchipcard.de
***************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
* MA 02111-1307 USA *
* *
***************************************************************************/
#ifndef GWENHYWFAR_XSDNODE_H
#define GWENHYWFAR_XSDNODE_H
typedef struct GWEN_XSD_NODE GWEN_XSD_NODE;
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/list1.h>
GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_XSD_NODE, GWENHYWFAR_API)
GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_XSD_NODE, GWEN_XsdNode, GWENHYWFAR_API)
#include <gwenhywfar/xml.h>
#include <gwenhywfar/db.h>
typedef enum {
GWEN_Xsd_NodeType_Unknown=0,
GWEN_Xsd_NodeType_Any,
GWEN_Xsd_NodeType_Element,
GWEN_Xsd_NodeType_Attribute,
GWEN_Xsd_NodeType_ComplexType,
GWEN_Xsd_NodeType_SimpleType,
GWEN_Xsd_NodeType_Group,
GWEN_Xsd_NodeType_AttributeGroup,
GWEN_Xsd_NodeType_Facet
} GWEN_XSD_NODETYPE;
GWEN_XSD_NODE *GWEN_XsdNode_new(GWEN_XSD_NODE *parent,
GWEN_XSD_NODETYPE t,
const char *name);
void GWEN_XsdNode_free(GWEN_XSD_NODE *xsdNode);
GWEN_XSD_NODETYPE GWEN_XsdNode_GetNodeType(const GWEN_XSD_NODE *xsdNode);
const char *GWEN_XsdNode_GetName(const GWEN_XSD_NODE *xsdNode);
GWEN_XSD_NODE *GWEN_XsdNode_GetParent(const GWEN_XSD_NODE *xsdNode);
GWEN_XSD_NODE_LIST *GWEN_XsdNode_GetChildren(const GWEN_XSD_NODE *xsdNode);
void GWEN_XsdNode_AddChild(GWEN_XSD_NODE *xsdNode, GWEN_XSD_NODE *newChild);
void GWEN_XsdNode_Unlink(GWEN_XSD_NODE *xsdNode);
uint32_t GWEN_XsdNode_GetFlags(const GWEN_XSD_NODE *xsdNode);
void GWEN_XsdNode_SetFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl);
void GWEN_XsdNode_AddFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl);
void GWEN_XsdNode_SubFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl);
int GWEN_XsdNode_Read(GWEN_XSD_NODE *xsdNode,
GWEN_XMLNODE *xmlNode,
GWEN_DB_NODE *db);
int GWEN_XsdNode_Write(GWEN_XSD_NODE *xsdNode,
GWEN_XMLNODE *xmlNode,
GWEN_DB_NODE *db);
#endif
db.h
GWEN_DB_NODE
struct GWEN_DB_NODE GWEN_DB_NODE
Definition db.h:228
GWENHYWFAR_API
#define GWENHYWFAR_API
Definition gwenhywfarapi.h:67
inherit.h
GWEN_INHERIT_FUNCTION_LIB_DEFS
#define GWEN_INHERIT_FUNCTION_LIB_DEFS(t, decl)
Definition inherit.h:125
list1.h
GWEN_LIST_FUNCTION_LIB_DEFS
#define GWEN_LIST_FUNCTION_LIB_DEFS(t, pr, decl)
Definition list1.h:349
GWEN_XSD_NODE_LIST
Definition listdoc.h:9024
GWEN_XMLNODE
struct GWEN__XMLNODE GWEN_XMLNODE
Definition xml.h:156
GWEN_XsdNode_new
GWEN_XSD_NODE * GWEN_XsdNode_new(GWEN_XSD_NODE *parent, GWEN_XSD_NODETYPE t, const char *name)
GWEN_XsdNode_SetFlags
void GWEN_XsdNode_SetFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
GWEN_XsdNode_GetNodeType
GWEN_XSD_NODETYPE GWEN_XsdNode_GetNodeType(const GWEN_XSD_NODE *xsdNode)
GWEN_XsdNode_Unlink
void GWEN_XsdNode_Unlink(GWEN_XSD_NODE *xsdNode)
GWEN_XsdNode_GetFlags
uint32_t GWEN_XsdNode_GetFlags(const GWEN_XSD_NODE *xsdNode)
GWEN_XsdNode_GetParent
GWEN_XSD_NODE * GWEN_XsdNode_GetParent(const GWEN_XSD_NODE *xsdNode)
GWEN_XsdNode_AddChild
void GWEN_XsdNode_AddChild(GWEN_XSD_NODE *xsdNode, GWEN_XSD_NODE *newChild)
GWEN_XsdNode_GetChildren
GWEN_XSD_NODE_LIST * GWEN_XsdNode_GetChildren(const GWEN_XSD_NODE *xsdNode)
GWEN_XsdNode_GetName
const char * GWEN_XsdNode_GetName(const GWEN_XSD_NODE *xsdNode)
GWEN_XsdNode_Read
int GWEN_XsdNode_Read(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
GWEN_XsdNode_AddFlags
void GWEN_XsdNode_AddFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
GWEN_XsdNode_SubFlags
void GWEN_XsdNode_SubFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
GWEN_XsdNode_free
void GWEN_XsdNode_free(GWEN_XSD_NODE *xsdNode)
GWEN_XSD_NODE
struct GWEN_XSD_NODE GWEN_XSD_NODE
Definition xsdnode.h:29
GWEN_XSD_NODETYPE
GWEN_XSD_NODETYPE
Definition xsdnode.h:42
GWEN_Xsd_NodeType_AttributeGroup
@ GWEN_Xsd_NodeType_AttributeGroup
Definition xsdnode.h:50
GWEN_Xsd_NodeType_SimpleType
@ GWEN_Xsd_NodeType_SimpleType
Definition xsdnode.h:48
GWEN_Xsd_NodeType_Facet
@ GWEN_Xsd_NodeType_Facet
Definition xsdnode.h:51
GWEN_Xsd_NodeType_Unknown
@ GWEN_Xsd_NodeType_Unknown
Definition xsdnode.h:43
GWEN_Xsd_NodeType_Any
@ GWEN_Xsd_NodeType_Any
Definition xsdnode.h:44
GWEN_Xsd_NodeType_Group
@ GWEN_Xsd_NodeType_Group
Definition xsdnode.h:49
GWEN_Xsd_NodeType_Attribute
@ GWEN_Xsd_NodeType_Attribute
Definition xsdnode.h:46
GWEN_Xsd_NodeType_Element
@ GWEN_Xsd_NodeType_Element
Definition xsdnode.h:45
GWEN_Xsd_NodeType_ComplexType
@ GWEN_Xsd_NodeType_ComplexType
Definition xsdnode.h:47
GWEN_XsdNode_Write
int GWEN_XsdNode_Write(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)