Hm, indeed. I relied too much on the existing code to be otherwise okay, that indeed needs some more work.

Another, related issue I tried to ignore so far is the configurable property "filter" with the TextSerializer: there is only one usage of the serializer and only one filter passed right now, the odfnodefilter one. And I can not think of another filter which would make sense there, especially as the internals of the TextSerializer are specific to ODF and thus have some expectation what nodes to expect.

With that in mind I decided to just rename OdfUtils' isAcceptedNode to isTextContentContainingNode and made it public, so the same nodes are used for rendering the selection as for generating the plaintext. Not really sure these nodes are completly equivalent, but for now it seems to be a proper alignment.