diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
commit | 372a0e99c2f61543d9e14d9933b59d9d1f4cb26e (patch) | |
tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/libxsd/xsd/cxx/tree/text.txx | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'xsd/libxsd/xsd/cxx/tree/text.txx')
-rw-r--r-- | xsd/libxsd/xsd/cxx/tree/text.txx | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/xsd/libxsd/xsd/cxx/tree/text.txx b/xsd/libxsd/xsd/cxx/tree/text.txx deleted file mode 100644 index 6764d5c..0000000 --- a/xsd/libxsd/xsd/cxx/tree/text.txx +++ /dev/null @@ -1,62 +0,0 @@ -// file : xsd/cxx/tree/text.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/dom/DOMText.hpp> - -#include <xsd/cxx/xml/string.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - std::basic_string<C> - text_content (const xercesc::DOMElement& e) - { - using xercesc::DOMNode; - using xercesc::DOMText; - - DOMNode* n (e.getFirstChild ()); - - // Fast path. - // - if (n != 0 && - n->getNodeType () == DOMNode::TEXT_NODE && - n->getNextSibling () == 0) - { - DOMText* t (static_cast<DOMText*> (n)); - return xml::transcode<C> (t->getData (), t->getLength ()); - } - - std::basic_string<C> r; - - for (; n != 0; n = n->getNextSibling ()) - { - switch (n->getNodeType ()) - { - case DOMNode::TEXT_NODE: - case DOMNode::CDATA_SECTION_NODE: - { - DOMText* t (static_cast<DOMText*> (n)); - r += xml::transcode<C> (t->getData (), t->getLength ()); - break; - } - case DOMNode::ELEMENT_NODE: - { - throw expected_text_content<C> (); - } - default: - break; // ignore - } - } - - return r; - } - } - } -} |