\r
// TODO ask francisco about this\r
/// FIXME:UGLY tests!\r
- uint * seq = new uint[XML_Tree->tags_len];\r
- for(uint i=0;i<XML_Tree->tags_len;i++)\r
- seq[i] = get_field(XML_Tree->tags_fix,XML_Tree->tags_blen,i);\r
+ //uint * seq = new uint[XML_Tree->tags_len];\r
+ //for(uint i=0;i<XML_Tree->tags_len;i++)\r
+ // seq[i] = get_field(XML_Tree->tags_fix,XML_Tree->tags_blen,i);\r
//cout << "Tags test: " << XML_Tree->Tags->test(seq,XML_Tree->tags_len) << endl;\r
- XML_Tree->Tags->test(seq,XML_Tree->tags_len);\r
- delete [] seq;\r
+ //XML_Tree->Tags->test(seq,XML_Tree->tags_len);\r
+ //delete [] seq;\r
/// End ugly tests\r
\r
STOPTIMER(Loading);\r
{\r
NULLT_IF(x==NULLT);\r
treeNode fc = first_child(Par, x);\r
- //<$> is 2\r
- return ((fc == NULLT || Tag(fc) != PCDATA_TAG_ID) ? fc : next_sibling(Par,fc));\r
+ NULLT_IF(fc == NULLT);\r
+ TagType tag = Tag(fc);\r
+ if (tag != PCDATA_TAG_ID && tag != ATTRIBUTE_TAG_ID) \r
+ return fc;\r
+ else return next_sibling(Par,fc);\r
\r
}\r
\r
{\r
NULLT_IF(x==NULLT);\r
treeNode ns = next_sibling(Par, x);\r
- return ((ns == NULLT || Tag(ns) != PCDATA_TAG_ID) ? ns : next_sibling(Par,ns));\r
+ NULLT_IF(ns == NULLT);\r
+ TagType tag = Tag(ns);\r
+ if (tag != PCDATA_TAG_ID && tag != ATTRIBUTE_TAG_ID) \r
+ return ns;\r
+ else return next_sibling(Par,ns);\r
}\r
\r
// LastChild(x): returns the last child of node x.\r
}\r
\r
\r
+treeNode XMLTree::Closing(treeNode x) {\r
+ return find_close(Par,x); \r
+}\r
+bool XMLTree::IsOpen(treeNode x) { return inspect(Par,x); }\r