libcsem
0.2
|
00001 /* 00002 * $Id: csem__rdfa__tree_8h_source.html,v 1.1 2013-04-22 20:16:24 hitoshi Exp $ 00003 * See Copyright for the status of this software. 00004 * uchida@w3.org 00005 */ 00006 #ifndef CSEM_RDFa_TREE_H 00007 #define CSEM_RDFa_TREE_H 00008 00009 #ifdef __cplusplus 00010 #define CSEM_NS_C_BEGIN extern "C" { 00011 #define CSEM_NS_C_END } 00012 #else 00013 #define CSEM_NS_C_BEGIN 00014 #define CSEM_NS_C_END 00015 #endif 00016 00017 CSEM_NS_C_BEGIN 00018 00019 #include "csem_tree.h" 00020 #include "csem_url.h" 00021 00025 typedef struct CSEM_Item CSEM_Item; 00031 typedef struct CSEM_Property CSEM_Property; 00035 typedef enum { 00037 CSEM_VALUE_TYPE_STR = 0, 00039 CSEM_VALUE_TYPE_URL, 00041 CSEM_VALUE_TYPE_ITEM, 00043 CSEM_VALUE_TYPE_PROPERTY 00044 } CSEM_VALUE_TYPE; 00050 CSEM_Error CSEM_Item_Create(CSEM_Item **item); 00055 void CSEM_Item_Dispose(CSEM_Item *item); 00061 CSEM_Url *CSEM_Item_GetId(CSEM_Item *item); 00070 CSEM_Error CSEM_Item_SetId(CSEM_Item *item, const CSEM_Url *id, CSEM_Bool free); 00076 CSEM_List *CSEM_Item_GetTypes(const CSEM_Item *item); 00084 CSEM_Error CSEM_Item_SetTypes(CSEM_Item *item, const CSEM_List *types, CSEM_Bool free); 00089 CSEM_List *CSEM_Item_GetProperties(const CSEM_Item *item); 00097 CSEM_Error CSEM_Item_GetNamedPropertes(const CSEM_Item *item, const char *name, CSEM_List **properties); 00105 CSEM_Error CSEM_Item_AddProperty(CSEM_Item *item, CSEM_Property *property, CSEM_Bool changeParent); 00113 CSEM_Error CSEM_Property_Create(CSEM_Property **property, CSEM_List *names); 00118 void CSEM_Property_Dispose(CSEM_Property *property); 00123 CSEM_List *CSEM_Property_GetNames(CSEM_Property *property); 00132 CSEM_Error CSEM_Property_GetValues(CSEM_Property *property, CSEM_List **values, CSEM_List **valueTypes); 00140 CSEM_Error CSEM_Property_AddValues(CSEM_Property *property, void *value, CSEM_VALUE_TYPE type); 00149 CSEM_Error CSEM_Properties_GetValues(CSEM_List *properties, CSEM_List **values, CSEM_List **valueTypes); 00158 CSEM_Error CSEM_Document_GetItems(CSEM_Document *doc, CSEM_List *types, CSEM_List **items); 00159 00160 CSEM_NS_C_END 00161 00162 #endif /* CSEM_RDFa_TREE_H */ 00163