| 94 | |
| 95 | |
| 96 | bool NodeIterator::accept(Node* pNode) const |
| 97 | { |
| 98 | bool accept = false; |
| 99 | switch (pNode->nodeType()) |
| 100 | { |
| 101 | case Node::ELEMENT_NODE: |
| 102 | accept = (_whatToShow & NodeFilter::SHOW_ELEMENT) != 0; break; |
| 103 | case Node::ATTRIBUTE_NODE: |
| 104 | accept = (_whatToShow & NodeFilter::SHOW_ATTRIBUTE) != 0; break; |
| 105 | case Node::TEXT_NODE: |
| 106 | accept = (_whatToShow & NodeFilter::SHOW_TEXT) != 0; break; |
| 107 | case Node::CDATA_SECTION_NODE: |
| 108 | accept = (_whatToShow & NodeFilter::SHOW_CDATA_SECTION) != 0; break; |
| 109 | case Node::ENTITY_REFERENCE_NODE: |
| 110 | accept = (_whatToShow & NodeFilter::SHOW_ENTITY_REFERENCE) != 0; break; |
| 111 | case Node::ENTITY_NODE: |
| 112 | accept = (_whatToShow & NodeFilter::SHOW_ENTITY) != 0; break; |
| 113 | case Node::PROCESSING_INSTRUCTION_NODE: |
| 114 | accept = (_whatToShow & NodeFilter::SHOW_PROCESSING_INSTRUCTION) != 0; break; |
| 115 | case Node::COMMENT_NODE: |
| 116 | accept = (_whatToShow & NodeFilter::SHOW_COMMENT) != 0; break; |
| 117 | case Node::DOCUMENT_NODE: |
| 118 | accept = (_whatToShow & NodeFilter::SHOW_DOCUMENT) != 0; break; |
| 119 | case Node::DOCUMENT_TYPE_NODE: |
| 120 | accept = (_whatToShow & NodeFilter::SHOW_DOCUMENT_TYPE) != 0; break; |
| 121 | case Node::DOCUMENT_FRAGMENT_NODE: |
| 122 | accept = (_whatToShow & NodeFilter::SHOW_DOCUMENT_FRAGMENT) != 0; break; |
| 123 | case Node::NOTATION_NODE: |
| 124 | accept = (_whatToShow & NodeFilter::SHOW_NOTATION) != 0; break; |
| 125 | } |
| 126 | if (accept && _pFilter) |
| 127 | accept = _pFilter->acceptNode(pNode) == NodeFilter::FILTER_ACCEPT; |
| 128 | return accept; |
| 129 | } |
| 130 | |
| 131 | |
| 132 | Node* NodeIterator::next() const |