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 const P6XMLNODEFLAGS P6XMLNODE_NOFLAGS = 0x00000000;
73 const P6XMLNODEFLAGS P6XMLNODE_TRACEON = 0x00000001;
74 
82 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 
2007  P6DECLCOMMETHOD(outputSubTreeInKMIPXML)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet, P6BOOL omitXMLDecl ) P6PURE;
2008 
2024  P6DECLCOMMETHOD(outputSubTreeInKMIPJSON)(P6THIS_ p6IDataStream* pOutput, P6DOMCHARSET charSet, P6BOOL bSolidusEscaping ) P6PURE;
2025 };
2026 
2027 // {83D04569-0AB4-4fad-BE9C-CC5938B434B5}
2028 #define IF_p6IXMLNode2 {0x83d04569,0xab4, 0x4fad,{0xbe,0x9c,0xcc,0x59,0x38,0xb4,0x34,0xb5}}
2029 
2030 
2031 #ifdef __cplusplus
2032 }
2033 } // namespace
2034 #endif
2035 
2036 
2037 #endif
2038 
2039 
2040 
2041 
2042 
2043 
2044 
XPath 2.0 expressions and XML nodes can be atomized into their base types.
P6LONGLONG P6INT64
Definition: p6types.h:56
unsigned int P6UINT32
Definition: p6types.h:46
#define P6PURE
Definition: p6defs.h:176
Standard error codes.
const P6WCHAR * pValue
Definition: p6xmlnode.h:55
const P6XMLNODEFLAGS P6XMLNODE_NOFLAGS
Definition: p6xmlnode.h:72
unsigned char P6BOOL
Boolean type.
Definition: p6types.h:112
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
const P6DOMCHARSET P6DOMCHARSET_UTF8
Definition: p6xmlnode.h:82
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:90
P6UINT32 uriLength
Definition: p6xmlnode.h:58
This interface is implmented by components that support receiving streamed data.
Definition: p6datastream.h:44
int P6INT32
Definition: p6types.h:47
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
const P6WCHAR * pName
Definition: p6xmlnode.h:53
P6COM base interface definitions.
P6XMLNodeType
Definition: p6xmlnode.h:31
P6ULONGLONG P6UINT64
Definition: p6types.h:55
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
const P6XMLNODEFLAGS P6XMLNODE_TRACEON
Definition: p6xmlnode.h:73
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:173
const P6WCHAR * pURI
Definition: p6xmlnode.h:57
#define P6THIS_
Definition: p6defs.h:177
double P6FLOAT
Definition: p6types.h:74
Results and components of XPath expressions can use one of these base types.
#define P6THIS
Definition: p6defs.h:178
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:172