Task #5199
closedTask #5190: Name tree for storing streams/attribute.
features that the parser could use
100%
Description
get all leaves of any node
be able to do addition and subtraction operations on sets of leaves (this is the main thing for allowing/denying attributes within the main tree)
EX:
all leaves under /a/b and subtract all leaves under /a/b/c
all leaves under /a/b/ and /a/c/ but not under /a/b/d, /a/c/e/, or /a/a/ (the /a/a/ shouldn't change the outcome)
these are for attribute matching:
get name at X index of stream
EX:
index 2 of /a/b/c/d is c
index 1 of /a/b/c/d is b
get index of name within stream
same as previous, but returns index given a name and a stream
find node with name N
EX:
given a tree with /a/b/, /a/c/b, and /a/b/d, find node with name 'b' should find the highest-level occurrence of 'b', in this case it would be node /a/b/
find node with name N at index X
same as before, but more specific. this would be used in the case where we want to find ///attribute/
if we assume we will have consistent naming (where attributes are listed as /domain/name/attribute/type/value, then we won't need the previous "find node with name N"