xtract icon indicating copy to clipboard operation
xtract copied to clipboard

there is no easy way to gather all children, including Text children

Open aappddeevv opened this issue 4 years ago • 1 comments

Since the .children uses \ "_" which skips Text nodes, there is no easy way to gather just text nodes or more generally, iterate over all nodes, including Text nodes, using the combinators. Since the signature of XmlReader.read pushes a NodeSeq argument, you are a bit stuck.

scala.xml Node.descendant returns all children (entire tree) including Text nodes, but Node \ "_" does not. So you are forced to hop through nodeReader. This is not urgent, but it seems like a better .children that is comprehensive would be nice.

aappddeevv avatar Sep 19 '19 19:09 aappddeevv

Yeah, that does seem like a problem. @aappddeevv, since you have a use case for this maybe you could answer a couple questions:

  1. Do you want an API that returns all the children for a single node (and fails if given more than one), returns all children of all nodes in the selection, or both?
  2. Since .children is already taken do you have any ideas on what this new method should be called? I have a couple of ideas, but none that I love.

tmccombs avatar Nov 13 '19 19:11 tmccombs