projects
/
SXSI
/
XMLTree.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reworked FirstElement/NextElement
[SXSI/XMLTree.git]
/
XMLTree.cpp
diff --git
a/XMLTree.cpp
b/XMLTree.cpp
index
1d01a76
..
e68ef30
100644
(file)
--- a/
XMLTree.cpp
+++ b/
XMLTree.cpp
@@
-440,8
+440,11
@@
treeNode XMLTree::FirstElement(treeNode x)
{
\r
NULLT_IF(x==NULLT);
\r
treeNode fc = first_child(Par, x);
\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
}
\r
\r
@@
-449,7
+452,11
@@
treeNode XMLTree::NextElement(treeNode x)
{
\r
NULLT_IF(x==NULLT);
\r
treeNode ns = next_sibling(Par, x);
\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
// LastChild(x): returns the last child of node x.
\r