Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6xmlnode.h
Go to the documentation of this file.
1 
13 #ifndef P6XMLNODE_H__
14 #define P6XMLNODE_H__ 1
15 
16 #include "p6err.h"
17 #include "p6comdef.h"
18 #include "p6datastream.h"
19 #include "p6sax2types.h"
20 #include "p6domxmltypes.h"
21 #include "p6xpathtime.h"
22 #include "p6xpathatomized.h"
23 
24 
25 #ifdef __cplusplus
26 namespace P6R {
27 extern "C" {
28 #endif
29 
30 // Need to know what each node in the tree is used for
31 typedef enum {
32  P6XML_NULL = 0x00, // -> no value
33  P6XML_ROOT = 0x01, // -> top of the P6R document tree; the document root node is one below this node
34  P6XML_LEAF = 0x02, // -> XML (or JSON) element, bottom of the tree for our skeleton, may still have P6XML_CHARS and P6XML_DYNAMICCHARS as children
35  P6XML_NONLEAF = 0x03, // -> connector nodes
36  P6XML_CHARS = 0x04, // -> The value of an XML (or JSON) element
37  P6XML_DYNAMICLEAF = 0x05, // -> Node created dynamically (not from XML file), all children free automatically when node is freed
38  P6XML_DYNAMICNONLEAF = 0x06, // -> Node created dynamically, all children free automatically when node is freed
39  P6XML_DYNAMICCHARS = 0x07, // -> Node created dynamically, all children free automatically when node is freed
40  P6XML_ATTRIBUTE = 0x08, // -> an attribute node (part of an element)
41  P6XML_PROCINSTRUCT = 0x09, // -> the node is an XML processing instruction, its data is stored as a P6XML_CHARS child
42  P6XML_DYNAMICROOT = 0x0A, // -> top of document tree; when tree is dynamically created
43  P6XML_MAX = 0x0A // ->
45 
51 typedef struct
52 {
53  const P6WCHAR* pName; // -> <book abc:isbn="0-7645-6910-4">XPath 2.0</book>
54  P6UINT32 nameLength; // -> name is 'book', length is 4
55  const P6WCHAR* pValue; // -> value is 'XPath 2.0', length is 9
57  const P6WCHAR* pURI; // -> namespace URI defines the namespace for the
58  P6UINT32 uriLength; // -> 'abc' is the prefix
59  P6XPATH_TYPE type; // -> built in XPath type for what is in pValue (if one is defined)
61 
72 static const P6XMLNODEFLAGS P6XMLNODE_NOFLAGS = 0x00000000;
73 static const P6XMLNODEFLAGS P6XMLNODE_TRACEON = 0x00000001;
74 
82 static const P6DOMCHARSET P6DOMCHARSET_UTF8 = 0x00000001;
83 
84 
85 
94 #undef INTERFACE
95 #define INTERFACE p6IXMLNode
97 {
116  P6DECLCOMMETHOD(initialize)(P6THIS_ P6XMLNODEFLAGS flags, P6XMLNodeType type, P6BOOL bDynamic, P6UINT32 nodeId ) P6PURE;
117 
130 
142  P6DECLCOMMETHOD(getType)(P6THIS_ P6XMLNodeType* pType ) P6PURE;
143 
157  P6DECLCOMMETHOD(getNodeId)(P6THIS_ P6UINT32* pId ) P6PURE;
158 
171  P6DECLCOMMETHOD(getParent)(P6THIS_ p6IXMLNode** pParent ) P6PURE;
172 
192  P6DECLCOMMETHOD(isChild)(P6THIS_ const P6WCHAR* pName,
193  P6UINT32 nameLength,
194  P6UINT32 instance,
195  p6IXMLNode** pExist,
196  P6BOOL* pResult
197  ) P6PURE;
198 
218  P6DECLCOMMETHOD(isName)(P6THIS_ const P6WCHAR* pName,
219  P6UINT32 nameLength,
220  const P6WCHAR* pURI,
221  P6UINT32 uriLength,
222  P6BOOL* pResult
223  ) P6PURE;
224 
243  P6DECLCOMMETHOD(toString)(P6THIS_ P6WCHAR* pBuffer, P6UINT32* pLength ) P6PURE;
244 
257  P6DECLCOMMETHOD(toInteger)(P6THIS_ P6INT32* pNumber ) P6PURE;
258 
271  P6DECLCOMMETHOD(toLong)(P6THIS_ P6INT64* pNumber ) P6PURE;
272 
285  P6DECLCOMMETHOD(toDouble)(P6THIS_ P6FLOAT* pNumber ) P6PURE;
286 
302  P6DECLCOMMETHOD(setName)(P6THIS_ const P6WCHAR* pName, P6UINT32 length ) P6PURE;
303 
316  P6DECLCOMMETHOD(getName)(P6THIS_ const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
317 
330  P6DECLCOMMETHOD(getLocalName)(P6THIS_ const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
331 
346  P6DECLCOMMETHOD(getUniqueName)(P6THIS_ const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
347 
364  P6DECLCOMMETHOD(getXMLValidName)(P6THIS_ P6WCHAR defaultChar, const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
365 
379  P6DECLCOMMETHOD(isXMLValidName)(P6THIS_ P6BOOL* pResult ) P6PURE;
380 
393  P6DECLCOMMETHOD(setURI)(P6THIS_ const P6WCHAR* pURI, P6UINT32 length ) P6PURE;
394 
407  P6DECLCOMMETHOD(getURI)(P6THIS_ const P6WCHAR** pURI, P6UINT32* pLength ) P6PURE;
408 
424  P6DECLCOMMETHOD(setValue)(P6THIS_ const P6WCHAR* pValue, P6UINT32 length ) P6PURE;
425 
440  P6DECLCOMMETHOD(getValue)(P6THIS_ const P6WCHAR** pValue, P6UINT32* pLength ) P6PURE;
441 
456  P6DECLCOMMETHOD(setXpathValue)(P6THIS_ P6XPATH_ATOMIZED* pValue ) P6PURE;
457 
473  P6DECLCOMMETHOD(getXpathValue)(P6THIS_ P6XPATH_ATOMIZED* pValue ) P6PURE;
474 
494  P6DECLCOMMETHOD(getNextNamespace)(P6THIS_ P6UINT32* pIndex,
495  const P6WCHAR** pName,
496  P6UINT32* pNameLength,
497  const P6WCHAR** pValue,
498  P6UINT32* pValueLength
499  ) P6PURE;
500 
512  P6DECLCOMMETHOD(getNumChildren)(P6THIS_ P6UINT32* pCount ) P6PURE;
513 
526  P6DECLCOMMETHOD(addChild)(P6THIS_ p6IXMLNode* pNode ) P6PURE;
527 
541  P6DECLCOMMETHOD(removeChildAt)(P6THIS_ P6UINT32 index ) P6PURE;
542 
562  P6DECLCOMMETHOD(replaceChildAt)(P6THIS_ P6UINT32 index, p6IXMLNode* pNode ) P6PURE;
563 
573  P6DECLCOMMETHOD(resetChild)(P6THIS) P6PURE;
574 
588  P6DECLCOMMETHOD(nextChild)(P6THIS_ p6IXMLNode** pChild ) P6PURE;
589 
605  P6DECLCOMMETHOD(childAt)(P6THIS_ P6UINT32 index, p6IXMLNode** pChild ) P6PURE;
606 
618  P6DECLCOMMETHOD(getNumAttributes)(P6THIS_ P6UINT32* pCount ) P6PURE;
619 
638  P6DECLCOMMETHOD(addAttribute)(P6THIS_ const P6WCHAR* pName,
639  P6UINT32 nameLength,
640  const P6WCHAR* pValue,
641  P6UINT32 valueLength,
642  const P6WCHAR* pURI,
643  P6UINT32 uriLength
644  ) P6PURE;
645 
668  P6DECLCOMMETHOD(getAttribute)(P6THIS_ const P6WCHAR* pName,
669  P6UINT32 nameLength,
670  P6UINT32 instance,
671  const P6WCHAR** pValue,
672  P6UINT32* pValueLength,
673  const P6WCHAR** pURI,
674  P6UINT32* pUriLength
675  ) P6PURE;
676 
686  P6DECLCOMMETHOD(resetAttribute)(P6THIS) P6PURE;
687 
701  P6DECLCOMMETHOD(nextAttribute)(P6THIS_ P6GenericAttrib* pAttrib ) P6PURE;
702 
718  P6DECLCOMMETHOD(attributeAt)(P6THIS_ P6UINT32 index, P6GenericAttrib* pAttrib ) P6PURE;
719 
733  P6DECLCOMMETHOD(removeAttributeAt)(P6THIS_ P6UINT32 index ) P6PURE;
734 
744  P6DECLCOMMETHOD(removeWhiteSpace)(P6THIS) P6PURE;
745 
754  P6DECLCOMMETHOD(print)(P6THIS) P6PURE;
755 
771  P6DECLCOMMETHOD(outputSubTree)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet, P6BOOL disableEscaping, P6BOOL omitXMLDecl ) P6PURE;
772 
789  P6DECLCOMMETHOD(outputSubTreeInJSON)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet ) P6PURE;
790 
806  P6DECLCOMMETHOD(outputAsString)(P6THIS_ p6IDataStream* pStream, P6DOMCHARSET charSet ) P6PURE;
807 
821  P6DECLCOMMETHOD(getNumberSortKey)(P6THIS_ P6INT32* pNumber ) P6PURE;
822 
835  P6DECLCOMMETHOD(setNumberSortKey)(P6THIS_ P6INT32 number ) P6PURE;
836 
850  P6DECLCOMMETHOD(getFloatSortKey)(P6THIS_ P6FLOAT* pNumber ) P6PURE;
851 
864  P6DECLCOMMETHOD(setFloatSortKey)(P6THIS_ P6FLOAT number ) P6PURE;
865 
879  P6DECLCOMMETHOD(getLongSortKey)(P6THIS_ P6INT64* pNumber ) P6PURE;
880 
893  P6DECLCOMMETHOD(setLongSortKey)(P6THIS_ P6INT64 number ) P6PURE;
894 
909  P6DECLCOMMETHOD(getStringSortKey)(P6THIS_ const P6WCHAR** pString, P6UINT32* pLength ) P6PURE;
910 
925  P6DECLCOMMETHOD(setStringSortKey)(P6THIS_ const P6WCHAR* pString, P6UINT32 length ) P6PURE;
926 
940  P6DECLCOMMETHOD(getTimeSortKey)(P6THIS_ p6IXpathTime** pTime ) P6PURE;
941 
954  P6DECLCOMMETHOD(setTimeSortKey)(P6THIS_ p6IXpathTime* pTime ) P6PURE;
955 
968  P6DECLCOMMETHOD(getOpaqueValue)(P6THIS_ P6UINT64* pNumber ) P6PURE;
969 
981  P6DECLCOMMETHOD(setOpaqueValue)(P6THIS_ P6UINT64 number ) P6PURE;
982 
991  P6DECLCOMMETHOD(addRefWithChildren)(P6THIS) P6PURE;
992 
1001  P6DECLCOMMETHOD(releaseRefWithChildren)(P6THIS) P6PURE;
1002 };
1003 
1004 // {C5F407A0-AEB6-4b9f-8151-FB5026A16F40}
1005 #define IF_p6IXMLNode {0xc5f407a0,0xaeb6,0x4b9f,{0x81,0x51,0xfb,0x50,0x26,0xa1,0x6f,0x40}}
1006 
1007 // {6BD6FBC3-66F9-4e65-9603-07007FE46EF7}
1008 #define COMP_p6XMLNode {0x6bd6fbc3,0x66f9,0x4e65,{0x96,0x3,0x7,0x0,0x7f,0xe4,0x6e,0xf7}}
1009 
1010 
1019 #undef INTERFACE
1020 #define INTERFACE p6IXMLNode2
1022 {
1041  P6DECLCOMMETHOD(initialize)(P6THIS_ P6XMLNODEFLAGS flags, P6XMLNodeType type, P6BOOL bDynamic, P6UINT32 nodeId ) P6PURE;
1042 
1054  P6DECLCOMMETHOD(setType)(P6THIS_ P6XMLNodeType type ) P6PURE;
1055 
1067  P6DECLCOMMETHOD(getType)(P6THIS_ P6XMLNodeType* pType ) P6PURE;
1068 
1082  P6DECLCOMMETHOD(getNodeId)(P6THIS_ P6UINT32* pId ) P6PURE;
1083 
1096  P6DECLCOMMETHOD(getParent)(P6THIS_ p6IXMLNode** pParent ) P6PURE;
1097 
1117  P6DECLCOMMETHOD(isChild)(P6THIS_ const P6WCHAR* pName,
1118  P6UINT32 nameLength,
1119  P6UINT32 instance,
1120  p6IXMLNode** pExist,
1121  P6BOOL* pResult
1122  ) P6PURE;
1123 
1143  P6DECLCOMMETHOD(isName)(P6THIS_ const P6WCHAR* pName,
1144  P6UINT32 nameLength,
1145  const P6WCHAR* pURI,
1146  P6UINT32 uriLength,
1147  P6BOOL* pResult
1148  ) P6PURE;
1149 
1168  P6DECLCOMMETHOD(toString)(P6THIS_ P6WCHAR* pBuffer, P6UINT32* pLength ) P6PURE;
1169 
1182  P6DECLCOMMETHOD(toInteger)(P6THIS_ P6INT32* pNumber ) P6PURE;
1183 
1196  P6DECLCOMMETHOD(toDouble)(P6THIS_ P6FLOAT* pNumber ) P6PURE;
1197 
1213  P6DECLCOMMETHOD(setName)(P6THIS_ const P6WCHAR* pName, P6UINT32 length ) P6PURE;
1214 
1227  P6DECLCOMMETHOD(getName)(P6THIS_ const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
1228 
1241  P6DECLCOMMETHOD(getLocalName)(P6THIS_ const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
1242 
1257  P6DECLCOMMETHOD(getUniqueName)(P6THIS_ const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
1258 
1275  P6DECLCOMMETHOD(getXMLValidName)(P6THIS_ P6WCHAR defaultChar, const P6WCHAR** pName, P6UINT32* pLength ) P6PURE;
1276 
1290  P6DECLCOMMETHOD(isXMLValidName)(P6THIS_ P6BOOL* pResult ) P6PURE;
1291 
1304  P6DECLCOMMETHOD(setURI)(P6THIS_ const P6WCHAR* pURI, P6UINT32 length ) P6PURE;
1305 
1318  P6DECLCOMMETHOD(getURI)(P6THIS_ const P6WCHAR** pURI, P6UINT32* pLength ) P6PURE;
1319 
1335  P6DECLCOMMETHOD(setValue)(P6THIS_ const P6WCHAR* pValue, P6UINT32 length ) P6PURE;
1336 
1351  P6DECLCOMMETHOD(getValue)(P6THIS_ const P6WCHAR** pValue, P6UINT32* pLength ) P6PURE;
1352 
1367  P6DECLCOMMETHOD(setXpathValue)(P6THIS_ P6XPATH_ATOMIZED* pValue ) P6PURE;
1368 
1384  P6DECLCOMMETHOD(getXpathValue)(P6THIS_ P6XPATH_ATOMIZED* pValue ) P6PURE;
1385 
1405  P6DECLCOMMETHOD(getNextNamespace)(P6THIS_ P6UINT32* pIndex,
1406  const P6WCHAR** pName,
1407  P6UINT32* pNameLength,
1408  const P6WCHAR** pValue,
1409  P6UINT32* pValueLength
1410  ) P6PURE;
1411 
1423  P6DECLCOMMETHOD(getNumChildren)(P6THIS_ P6UINT32* pCount ) P6PURE;
1424 
1437  P6DECLCOMMETHOD(addChild)(P6THIS_ p6IXMLNode* pNode ) P6PURE;
1438 
1452  P6DECLCOMMETHOD(removeChildAt)(P6THIS_ P6UINT32 index ) P6PURE;
1453 
1472  P6DECLCOMMETHOD(replaceChildAt)(P6THIS_ P6UINT32 index, p6IXMLNode* pNode ) P6PURE;
1473 
1483  P6DECLCOMMETHOD(resetChild)(P6THIS) P6PURE;
1484 
1498  P6DECLCOMMETHOD(nextChild)(P6THIS_ p6IXMLNode** pChild ) P6PURE;
1499 
1515  P6DECLCOMMETHOD(childAt)(P6THIS_ P6UINT32 index, p6IXMLNode** pChild ) P6PURE;
1516 
1528  P6DECLCOMMETHOD(getNumAttributes)(P6THIS_ P6UINT32* pCount ) P6PURE;
1529 
1548  P6DECLCOMMETHOD(addAttribute)(P6THIS_ const P6WCHAR* pName,
1549  P6UINT32 nameLength,
1550  const P6WCHAR* pValue,
1551  P6UINT32 valueLength,
1552  const P6WCHAR* pURI,
1553  P6UINT32 uriLength
1554  ) P6PURE;
1555 
1578  P6DECLCOMMETHOD(getAttribute)(P6THIS_ const P6WCHAR* pName,
1579  P6UINT32 nameLength,
1580  P6UINT32 instance,
1581  const P6WCHAR** pValue,
1582  P6UINT32* pValueLength,
1583  const P6WCHAR** pURI,
1584  P6UINT32* pUriLength
1585  ) P6PURE;
1586 
1596  P6DECLCOMMETHOD(resetAttribute)(P6THIS) P6PURE;
1597 
1611  P6DECLCOMMETHOD(nextAttribute)(P6THIS_ P6GenericAttrib* pAttrib ) P6PURE;
1612 
1628  P6DECLCOMMETHOD(attributeAt)(P6THIS_ P6UINT32 index, P6GenericAttrib* pAttrib ) P6PURE;
1629 
1643  P6DECLCOMMETHOD(removeAttributeAt)(P6THIS_ P6UINT32 index ) P6PURE;
1644 
1654  P6DECLCOMMETHOD(removeWhiteSpace)(P6THIS) P6PURE;
1655 
1664  P6DECLCOMMETHOD(print)(P6THIS) P6PURE;
1665 
1681  P6DECLCOMMETHOD(outputSubTree)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet, P6BOOL disableEscaping, P6BOOL omitXMLDecl ) P6PURE;
1682 
1699  P6DECLCOMMETHOD(outputSubTreeInJSON)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet ) P6PURE;
1700 
1716  P6DECLCOMMETHOD(outputAsString)(P6THIS_ p6IDataStream* pStream, P6DOMCHARSET charSet ) P6PURE;
1717 
1731  P6DECLCOMMETHOD(getNumberSortKey)(P6THIS_ P6INT32* pNumber ) P6PURE;
1732 
1745  P6DECLCOMMETHOD(setNumberSortKey)(P6THIS_ P6INT32 number ) P6PURE;
1746 
1760  P6DECLCOMMETHOD(getFloatSortKey)(P6THIS_ P6FLOAT* pNumber ) P6PURE;
1761 
1774  P6DECLCOMMETHOD(setFloatSortKey)(P6THIS_ P6FLOAT number ) P6PURE;
1775 
1789  P6DECLCOMMETHOD(getLongSortKey)(P6THIS_ P6INT64* pNumber ) P6PURE;
1790 
1803  P6DECLCOMMETHOD(setLongSortKey)(P6THIS_ P6INT64 number ) P6PURE;
1804 
1819  P6DECLCOMMETHOD(getStringSortKey)(P6THIS_ const P6WCHAR** pString, P6UINT32* pLength ) P6PURE;
1820 
1835  P6DECLCOMMETHOD(setStringSortKey)(P6THIS_ const P6WCHAR* pString, P6UINT32 length ) P6PURE;
1836 
1850  P6DECLCOMMETHOD(getTimeSortKey)(P6THIS_ p6IXpathTime** pTime ) P6PURE;
1851 
1864  P6DECLCOMMETHOD(setTimeSortKey)(P6THIS_ p6IXpathTime* pTime ) P6PURE;
1865 
1878  P6DECLCOMMETHOD(getOpaqueValue)(P6THIS_ P6UINT64* pNumber ) P6PURE;
1879 
1891  P6DECLCOMMETHOD(setOpaqueValue)(P6THIS_ P6UINT64 number ) P6PURE;
1892 
1901  P6DECLCOMMETHOD(addRefWithChildren)(P6THIS) P6PURE;
1902 
1911  P6DECLCOMMETHOD(releaseRefWithChildren)(P6THIS) P6PURE;
1912 
1932  P6DECLCOMMETHOD(addAttribute2)(P6THIS_ const P6WCHAR* pName,
1933  P6UINT32 nameLength,
1934  const P6WCHAR* pValue,
1935  P6UINT32 valueLength,
1936  const P6WCHAR* pURI,
1937  P6UINT32 uriLength,
1938  P6XPATH_TYPE type
1939  ) P6PURE;
1940 
1964  P6DECLCOMMETHOD(getAttribute2)(P6THIS_ const P6WCHAR* pName,
1965  P6UINT32 nameLength,
1966  P6UINT32 instance,
1967  const P6WCHAR** pValue,
1968  P6UINT32* pValueLength,
1969  const P6WCHAR** pURI,
1970  P6UINT32* pUriLength,
1971  P6XPATH_TYPE* pType
1972  ) P6PURE;
1973 
1990  P6DECLCOMMETHOD(outputSubTreeInJsonML)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet ) P6PURE;
1991 
2008  P6DECLCOMMETHOD(outputSubTreeInKMIPXML)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet, P6BOOL omitXMLDecl, P6BOOL bPrettyPrint ) P6PURE;
2009 
2026  P6DECLCOMMETHOD(outputSubTreeInKMIPJSON)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet, P6BOOL bSolidusEscaping, P6BOOL bPrettyPrint ) P6PURE;
2027 };
2028 
2029 // {83D04569-0AB4-4fad-BE9C-CC5938B434B5}
2030 #define IF_p6IXMLNode2 {0x83d04569,0xab4, 0x4fad,{0xbe,0x9c,0xcc,0x59,0x38,0xb4,0x34,0xb5}}
2031 
2032 
2033 #ifdef __cplusplus
2034 }
2035 } // namespace
2036 #endif
2037 
2038 
2039 #endif
2040 
2041 
2042 
2043 
2044 
2045 
2046 
XPath 2.0 expressions and XML nodes can be atomized into their base types.
This is the standard structure used to point to tokens inside the XML document being parsed...
uint64_t P6UINT64
Definition: p6types.h:79
uint32_t P6UINT32
Definition: p6types.h:77
#define P6PURE
Definition: p6defs.h:192
Standard error codes.
const P6WCHAR * pValue
Definition: p6xmlnode.h:55
unsigned char P6BOOL
Boolean type.
Definition: p6types.h:133
Types shared between all XML components.
P6UINT32 valueLength
Definition: p6xmlnode.h:56
This interface is an implementation of the following XPath 2.0 time types: xs:date, xs:dateTime, xs:time.
P6UINT32 P6XMLNODEFLAGS
P6XMLNODEFLAGS.
Definition: p6xmlnode.h:71
This interface is an implementation of the following XPath 2.0 time types: xs:date, xs:dateTime, xs:time.
Definition: p6xpathtime.h:29
p6IDataStream interface definitions
P6XPATH_TYPE
Part of the XPath type system.
Definition: p6domxmltypes.h:46
P6UINT32 nameLength
Definition: p6xmlnode.h:54
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:111
P6UINT32 uriLength
Definition: p6xmlnode.h:58
This interface is implmented by components that support receiving streamed data.
Definition: p6datastream.h:44
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
int64_t P6INT64
Definition: p6types.h:78
const P6WCHAR * pName
Definition: p6xmlnode.h:53
P6COM base interface definitions.
P6XMLNodeType
Definition: p6xmlnode.h:31
P6XPATH_TYPE type
Definition: p6xmlnode.h:59
This component represents an element in an XML, JSON, or JsonML document.
Definition: p6xmlnode.h:1021
This component represents an element in an XML or JSON document.
Definition: p6xmlnode.h:96
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
const P6WCHAR * pURI
Definition: p6xmlnode.h:57
#define P6THIS_
Definition: p6defs.h:193
double P6FLOAT
Definition: p6types.h:93
int32_t P6INT32
Definition: p6types.h:76
Results and components of XPath expressions can use one of these base types.
#define P6THIS
Definition: p6defs.h:194
P6UINT32 P6DOMCHARSET
P6DOMCHARSET.
Definition: p6xmlnode.h:81
Parts of an element&#39;s attribute.
Definition: p6xmlnode.h:51
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188