Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6domnodesetsort.h
Go to the documentation of this file.
1 
11 #ifndef P6DOMNODESETSORT_H__
12 #define P6DOMNODESETSORT_H__ 1
13 
14 #include "p6xmlnode.h"
15 #include "p6xpathexpression.h"
16 
17 
18 #ifdef __cplusplus
19 namespace P6R {
20 extern "C" {
21 #endif
22 
30 typedef enum {
31  P6DOMNODE_ASCENDING = 0x00, // -> sort key type unknown
32  P6DOMNODE_DESCENDING = 0x01, // -> sort key type unknown
33  P6DOMNODE_SORTNUM_ASCENDING = 0x02, // -> sort key is numeric type
34  P6DOMNODE_SORTNUM_DESCENDING = 0x03, // -> sort key is numeric type
35  P6DOMNODE_SORTSTR_ASCENDING = 0x04, // -> sort key is a string type
36  P6DOMNODE_SORTSTR_DESCENDING = 0x05, // -> sort key is a string type
37  P6DOMNODE_SORTTIME_ASCENDING = 0x06, // -> sort key is a p6IXpathTime type
38  P6DOMNODE_SORTTIME_DESCENDING = 0x07, // -> sort key is a p6IXpathTime type
39  P6DOMNODE_SORTFLOAT_ASCENDING = 0x08, // -> sort key is P6FLOAT type
40  P6DOMNODE_SORTFLOAT_DESCENDING = 0x09, // -> sort key is P6FLOAT type
41  P6DOMNODE_SORTLONG_ASCENDING = 0x0A, // -> sort key is P6INT64 type
42  P6DOMNODE_SORTLONG_DESCENDING = 0x0B // -> sort key is P6INT64 type
44 
64 #undef INTERFACE
65 #define INTERFACE p6IDOMNodesetSort
67 {
83  P6DECLCOMMETHOD(setLanguageProperties)(P6THIS_ const P6CHAR* pLang, const P6CHAR* pCollate ) P6PURE;
84 
94  P6DECLCOMMETHOD(reverseOrder)(P6THIS) P6PURE;
95 
106  P6DECLCOMMETHOD(documentOrder)(P6THIS) P6PURE;
107 
128  P6DECLCOMMETHOD(sortByExpression)(P6THIS_ p6IDOMXML* pXMLTree,
129  P6DOMNODE_SORT type,
130  p6IXpathExpression* pExp ) P6PURE;
131 
142  P6DECLCOMMETHOD(distinctValues)(P6THIS) P6PURE;
143 
154  P6DECLCOMMETHOD(distinctNodes)(P6THIS) P6PURE;
155 
169  P6DECLCOMMETHOD(getMaximumEntry)(P6THIS_ p6IXMLNode** pNode ) P6PURE;
170 
184  P6DECLCOMMETHOD(getMinimumEntry)(P6THIS_ p6IXMLNode** pNode ) P6PURE;
185 };
186 
187 // {D7F8B3E5-50E2-428f-B96E-8375DD266D29}
188 #define IF_p6IDOMNodesetSort {0xd7f8b3e5,0x50e2,0x428f,{0xb9,0x6e,0x83,0x75,0xdd,0x26,0x6d,0x29}}
189 
190 #ifdef __cplusplus
191 }
192 } // namespace
193 #endif
194 
195 
196 
197 #endif
198 
199 
200 
201 
202 
203 
204 
This component is used to parse a complex XPath 2.0 expression or pattern into an expression tree for...
P6R's interface of the DOM parser.
Definition: p6domxml.h:102
#define P6PURE
Definition: p6defs.h:192
This component represents an element in an XML or JSON document.
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
Supports the sorting of a node set by an XPath expression of the following types: numeric...
P6DOMNODE_SORT
When P6DOMNODE_ASCENDING or P6DOMNODE_DESCENDING is used, then the type of the sort key is assigned a...
This component represents an element in an XML or JSON document.
Definition: p6xmlnode.h:96
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
#define P6THIS
Definition: p6defs.h:194
This component is used to parse a complex XPath 2.0 expression or pattern into an expression tree for...
char P6CHAR
Narrow character type.
Definition: p6types.h:105
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188