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 namespace P6R {
18 
19 #ifdef __cplusplus
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 interface p6IDOMNodesetSort : public p6ICom
65 {
81  P6COMMETHOD setLanguageProperties( const P6CHAR* pLang, const P6CHAR* pCollate ) = 0;
82 
93 
105 
127  P6DOMNODE_SORT type,
128  p6IXpathExpression* pExp ) = 0;
129 
141 
153 
167  P6COMMETHOD getMaximumEntry( p6IXMLNode** pNode ) = 0;
168 
182  P6COMMETHOD getMinimumEntry( p6IXMLNode** pNode ) = 0;
183 };
184 
185 // {D7F8B3E5-50E2-428f-B96E-8375DD266D29}
186 #define IF_p6IDOMNodesetSort {0xd7f8b3e5,0x50e2,0x428f,{0xb9,0x6e,0x83,0x75,0xdd,0x26,0x6d,0x29}}
187 
188 #ifdef __cplusplus
189 }
190 #endif
191 
192 } // namespace
193 
194 
195 #endif
196 
197 
198 
199 
200 
201 
202 
This component is used to parse a complex XPath 2.0 expression or pattern into an expression tree for...
virtual P6R::P6ERR sortByExpression(p6IDOMXML *pXMLTree, P6DOMNODE_SORT type, p6IXpathExpression *pExp)=0
Sort the p6IXMLNode components in the p6IDOMNodeset container.
P6R's interface of the DOM parser.
Definition: p6domxml.h:99
virtual P6R::P6ERR getMaximumEntry(p6IXMLNode **pNode)=0
Returns the node with that contains the maximum node value.
This component represents an element in an XML or JSON document.
virtual P6R::P6ERR distinctNodes()=0
This function removes duplicate nodes from the node set.
virtual P6R::P6ERR reverseOrder()=0
Note, that calling this function successfully causes an implicit reset() on the enumerator.
virtual P6R::P6ERR documentOrder()=0
Sort all the nodes in the relative order they appear in the source document.
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
virtual P6R::P6ERR getMinimumEntry(p6IXMLNode **pNode)=0
Returns the node with that contains the minimum node value.
virtual P6R::P6ERR setLanguageProperties(const P6CHAR *pLang, const P6CHAR *pCollate)=0
This method is used to define how string sorting is to be done.
virtual P6R::P6ERR distinctValues()=0
This function removes duplicate nodes from the node set.
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:94
#define P6COMMETHOD
Definition: p6types.h:872
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:71