| 5507 | } |
| 5508 | |
| 5509 | const void* document_order(const xpath_node& xnode) |
| 5510 | { |
| 5511 | xml_node_struct* node = xnode.node().internal_object(); |
| 5512 | |
| 5513 | if (node) |
| 5514 | { |
| 5515 | if (node->name && (node->header & xml_memory_page_name_allocated_mask) == 0) return node->name; |
| 5516 | if (node->value && (node->header & xml_memory_page_value_allocated_mask) == 0) return node->value; |
| 5517 | return 0; |
| 5518 | } |
| 5519 | |
| 5520 | xml_attribute_struct* attr = xnode.attribute().internal_object(); |
| 5521 | |
| 5522 | if (attr) |
| 5523 | { |
| 5524 | if ((attr->header & xml_memory_page_name_allocated_mask) == 0) return attr->name; |
| 5525 | if ((attr->header & xml_memory_page_value_allocated_mask) == 0) return attr->value; |
| 5526 | return 0; |
| 5527 | } |
| 5528 | |
| 5529 | return 0; |
| 5530 | } |
| 5531 | |
| 5532 | struct document_order_comparator |
| 5533 | { |
no test coverage detected