};
}
+inline uint32_t xml_tree::subtree_elements(xml_tree::node_t x,
+ xml_tree::tag_t *atts) const
+{
+
+ int32_t size = bp_subtree_size(par, x) - 1;
+ if (size <= 0) return 0;
+ size -= subtree_tags(x, xml_tree::PCDATA_OPEN_TAG_ID);
+ if (size < 3) return (uint32_t) size;
+ for(; *atts != xml_tree::NIL_TAG_ID; atts++)
+ size -= subtree_tags(x, *atts);
+ return (uint32_t) size;
+
+}
+
inline bool xml_tree::is_leaf(xml_tree::node_t x) const
{
return !bp_inspect(this->par, x+1);
inline xml_tree::node_t xml_tree::parent_node(int32_t d) const
{
- return (xml_tree::node_t) text_positions->select1(d + 1);
+ xml_tree::node_t res = text_positions->select1(d+1);
+ return (xml_tree::node_t) res;
}
inline SXSI::TextCollection::document_result